perm filename SUDS.RPH[UP,DOC]3 blob
sn#125969 filedate 1974-10-21 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00033 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00003 00002 Introduction:
C00005 00003 CHARACTER SET:
C00008 00004 WRITEUP FOR THE STANFORD DRAWING SYSTEM.
C00013 00005 NOW FOR THE COMMANDS YOU CAN GIVE ANYTIME:
C00023 00006 λX TYPES "WELL?" TO WHICH YOU MAY TYPE ANY OF THE
C00043 00007
C00047 00008
C00060 00009
C00062 00010 POINT MODE:
C00065 00011
C00070 00012
C00075 00013
C00078 00014
C00083 00015 BODY MODE:
C00092 00016 SET MODE:
C00095 00017 LINE MODE:
C00097 00018 ALTER MODE:
C00102 00019 EDIT MODE:
C00106 00020
C00108 00021 MACRO'S:
C00116 00022 HOW TO DO IT -- PC CARDS
C00118 00023 MORE PC CARDS -- PCP
C00133 00024 MORE PC CARDS -- AFTER PCP
C00135 00025 RUNNING WL
C00145 00026
C00158 00027
C00165 00028 WL FILE FORMATS
C00170 00029 RUNNING MAGGOT
C00171 00030 RUNNING PDRILL
C00172 00031 RUNNING FR80
C00173 00032 HOW TO RUN REF
C00175 00033 MISCELANEOUS
C00179 ENDMK
C⊗;
Introduction:
Latest revision of this document: 29 APR 74
This document describes the STANFORD UNIVERSITY DESIGN SYSTEM, originally
developed at the Stanford University Artificial Intelligence Lab
by Dick Helliwell. It has been exported to several sites, as
described below:
Stanford Artificial Intelligence Lab
Maintained by: Jeff Rubin (D) or Tom Gafford (WL)
Mail to: JBR OR TAG @ SU-AI
Documentation: SUDS.RPH[UP,DOC]
Source on: [F,RPH], [WL,RPH], [PLT,RPH]
Object on: SYS:
M.I.T. Artificial Intelligence Lab
Maintained by: Pitts Jarvis
Mail to: PJ @ MIT-AI
Documentation: DRAW; W >
Source on: DRAW;
Object on: SYS:
Carnegie-Mellon University
Maintained by: Rick Gumpertz
Mail to: RG02 @ CMU-10B
Documentation: @W.CMD[E130DP00]/B (LOOK comand file)
Source on: [E130DP00], [E130RG02] (both SPCH: & DSKC:)
Object on: [E130DP00]
Digital Equipment Corporation
Maintained by: Dick Helliwell
Mail to: KL-10 Engineering MB-2
Digital Equipment Corporation
200 Forest street
Marlborough, Mass. 01752
Documentation: <10-ENGINEERING-LIBRARY> D.TXT, WL.TXT
Source on: <DRAW>, <WIRELIST>, <PLOT>
Object on: <10-ENGINEERING-LIBRARY>
CHARACTER SET:
THE FOLLOWING CHART SHOWS THE SPECIAL GRAPHIC CHARACTERS AVAILABLE
ON THE STANFORD KEYBOARD AND WHAT YOU MUST TYPE TO OBTAIN THEM ON A
TELETYPE KEYBOARD. CERTAIN CHARACTERS REQUIRE THE USE OF THE ";L" MACRO
COMMAND. FOR THESE CHARACTERS, YOU MUST TYPE "α;L" FOLLOWED BY THE
NUMBER GIVEN IN THE CHART FOLLOWED BY <CR>.
OBSERVE THE MINUS SIGN CAREFULLY.
GRAPHIC KEYSTROKE ;L OCTAL VALUE
---------------------------------------------------
DOWN ARROW ↑A -63 001
ALPHA ↑B -62 002
BETA NONE -61 003
LOGICAL AND ↑D -60 004
LOGICAL NOT ↑E -59 005
EPSILON ↑F -58 006
PI ↑G (BELL) -57 007
LAMBDA ↑H (BACKSPACE) -56 010
GAMMA ↑I (TAB) -55 011
INTEGRATION ↑K (VERT TAB) -53 013
PLUS/MINUS ↑L (FORM FEED) -52 014
INFINITY ↑N -50 016
SMALL DELTA NONE -49 017
LEFT HORSESHOE ↑P -48 020
RIGHT HORSESHOE ↑Q -47 021
UP HORSESHOE ↑S -45 023
FOR ALL SIGN ↑T -44 024
THERE EXISTS NONE -43 025
MU (MICRO) ↑V -42 026
DOUBLE ARROW ↑W (SEE NOTE) -41 027
OMEGA (OHMS) ↑X -40 030
RIGHT ARROW ↑Y -39 031
TILDA ↑Z -38 032
NOT EQUAL NONE -37 033
LESS OR EQUAL ↑\ -36 034
GREATER OR EQ ↑] -35 035
IDENTITY ↑↑ -34 036
LOGICAL OR ↑← -33 037
VERTICAL BAR NONE 60 174
CIRCUMFLEX NONE 61 175
RIGHT BRACE NONE 62 176
NOTE: ↔ (DOUBLE ARROW) MEANS CARRIAGE RETURN LINE FEED IN TEXT.
WRITEUP FOR THE STANFORD DRAWING SYSTEM.
THE CHARACTERS "α", "β", "ε", AND "λ" STAND FOR <ctrl>, <meta>,
<ctrl><meta>, AND <don't care> RESPECTIVELY. "α", "β", AND "ε"
ARE ALWAYS INTERPRETED BY THE SCANNER AS THESE THINGS!
THE LETTER "D" PRECEDING ANY DESCRIPTION MEANS THIS IS FOR THE LOGIC
DRAWING PROGRAM ONLY, "PC" MEANS PC CARD PROGRAM ONLY.
"L" MEANS THIS IS A FEATURE OF THE LAYOUT VERSION ONLY.
"R" MEANS THIS IS A FEATURE OF THE ROUTING VERSION ONLY.
FOLLOWING ARE THE PROGRAM NAMES FOR THE VARIOUS VERSIONS:
NAME DESCRIPTION
D BASIC DRAWING PROGRAM
PC BASIC PC CARD PROGRAM
RPC ROUTING VERSION OF PC
L LAYOUT VERSION OF D & PC (USING FASTBANDS)
TD LAYOUT VERSION OF D & PC (USING SEGMENTS)
LR ROUTING AND LAYOUT D & PC (USING FASTBANDS)
TRD ROUTING AND LAYOUT D & PC (USING SEGMENTS)
HERE ARE SOME MONITOR LEVEL COMMANDS:
REE REFRESHES DISPLAY, FLUSHES ANY MACRO'S IN PROGRESS
THEN JUMPS TO WHATEVER IS IN JOBOPC.
REE;S RESTARTS PROGRAM WITHOUT FLUSHING CURRENT DATA IF
POSSIBLE, THIS MAY NOT WORK IF YOU WERE IN THE
MIDDLE OF SOMETHING WHEN YOU WENT TO THE MONITOR.
FIRST THE FOUR BASIC MODE SWITCHING COMMANDS:
EACH OF THE FOLLOWING COMMANDS FINDS THE CLOSEST PRIMITIVE
IN THE DRAWING AND MAKES IT THE "CLOSEST" PRIMITIVE. IF YOU
ARE FINDING BODIES YOU MAY NOT DO OPERATIONS ON POINTS, ETC.
εP FIND THE CLOSEST POINT. A LARGE P INDICATES THE POINT.
IF THE POINT HAS TEXT ON IT A LARGE T IS USED.
εT SAME AS εP EXCEPT THAT THE ONLY POINTS WHICH WILL
BE FOUND ARE THOSE WITH TEXT ON THEM.
εL FIND THE CLOSEST LINE. A LINE IS NOT "CLOSE" TO A POINT
UNLESS THE PERPENDICULAR FROM THE POINT TO THE LINE
INTERSECTS THE SEGMENT WHICH IS THE LINE. A LARGE L
INDICATES THE MIDPOINT OF THE LINE.
εB FIND THE CLOSEST BODY. A LARGE B IS PLACED
AT THE CENTER OF THE BODY.
εS FIND THE CLOSEST SET. A LARGE S IS PLACED AT THE
CENTER OF THE SET. THE CENTER OF A SET IS THE
AVERAGE OF THE LOCATIONS OF ITS MEMBERS.
THE FOLLOWING 3 CHARACTERS INDICATE WHICH KIND OF INPUT YOU ARE DOING:
* WAITING FOR SINGLE LETTER COMMAND
← WAITING FOR SINGLE LETTER, NOT COMMAND
→ WAITING IN LINE MODE (ONLY USED DURING MACROES TO INDICATE THIS,
OTHERWISE NO CHARACTER).
: WAITING IN LINE MODE FOR A MULTI-STRING VARIABLE
SPECIAL CONTROL CHARACTERS AT ALL LEVELS!
ε! REFRESH DISPLAY.
NOW FOR THE COMMANDS YOU CAN GIVE ANYTIME:
λ← THESE OFFSET THE DRAWING LEFT, RIGHT, UP, DOWN.
λ↑ THE AMOUNT IS DETERMINED BY THE NUMBER OF CONTROL
λ→ BITS HELD DOWN.
λ↓
SIZE CONTROLS:
λ* MAKE THE DRAWING SMALLER. "
λ⊗ MAKE THE DRAWING LARGER. THE CONTROL BITS AGAIN
DETERMINE THE AMOUNT.
λ( MOVE CURSOR LEFT (ONE GRID SPACE TIMES CONTROL BITS)
λ[ MOVE CURSOR LEFT (SIXTEEN GRID SPACES TIMES CONTROL BITS)
λ) MOVE CURSOR RIGHT (ONE GRID SPACE TIMES CONTROL BITS)
λ] MOVE CURSOR RIGHT (SIXTEEN GRID SPACES TIMES CONTROL BITS)
λ/ MOVE CURSOR UP (ONE GRID SPACE TIMES CONTROL BITS)
λ∂ MOVE CURSOR UP (SIXTEEN GRID SPACES TIMES CONTROL BITS)
λ\ MOVE CURSOR DOWN (ONE GRID SPACE TIMES CONTROL BITS)
λ∞ MOVE CURSOR DOWN (SIXTEEN GRID SPACES TIMES CONTROL BITS)
L εV IN PC PROG GO TO LOGIC PROG, IN LOGIC PROG GO TO PC PROG.
ε& ZERO "CURRENT" SET POINTER. THE "CURRENT" SET IS THE ONE
WHICH GETS THINGS ADDED TO IT BY α&.
εP FIND CLOSEST POINT. SEE ABOVE.
εT FIND CLOSEST POINT WITH TEXT ON IT. SEE ABOVE.
εL FIND CLOSEST LINE. SEE ABOVE.
εB FIND CLOSEST BODY. SEE ABOVE.
αC MOVE THE CURSOR TO THE PHYSICAL CENTER OF THE SCREEN
βC MOVES THE CURSOR AND THE POINT IN THE DRAWING AT WHICH IT
RESIDES TO THE PHYSICAL CENTER OF THE SCREEN.
εC SET THE OFFSET AND THE CURSOR POS TO 0. (i.e. MOVE THE
CURSOR AND LOGICAL 0,0 TO THE CENTER OF THE SCREEN).
D εE EDIT (OR CREATE) A BODY. YOU ARE ASKED "BODY TYPE?" THEN
"DIP TYPE?". FIRST MAY NOT BE NULL, BUT SECOND CAN.
YOU ENTER THE EDITOR WITH IT (OR EMPTY). IF THE BODY DID
NOT EXIST BEFORE IT DOES NOW.
D αI INPUT UNITS FROM A DRAWING FILE. THIS ALLOWS YOU TO DEFINE
BODIES ONLY ONCE AND USE THEM IN ALL DRAWINGS.
PC αI LIKE βI EXCEPT THAT ANY UNPADDED DRILL HOLES ARE GIVEN PAD
TYPE 1, BECAUSE UNPADDED HOLES DON'T WORK.
βI INPUT A DRAWING.
D εI INPUT BODY DEFINITIONS ONLY. WHEN A CONFLICT ARISES (BODY
ALREADY EXISTS), REPLACEMENT IS AUTOMATICALLY EFFECTED BY
A GEOMETRIC MAPPING!
PC εI INPUT A ROUTE FILE (FROM WAGNER'S ROUTING PROGRAM). ASKS FOR
FILENAME (DEFAULT EXTENSION IS "DAT"). FILENAME IS USUALLY
FOR21. THERE SHOULD ALREADY BE IN THE DRAWING THE DIPS
WHICH WERE ROUTED TO, IN THE EXACT POSITIONS AS WHEN
THE FILE TO THE ROUTER (FOR20.DAT) WAS WRITTEN.
D αL LIST ALL THE BODY TYPES ON THE TTY. FOR LIBRARY BODIES THE
LIBRARY NAME IS ALSO LISTED.
D βL LIST ALL THE BODY TYPES INTO A FILE WITH DEFAULT EXTENSION 'LST'.
ALSO LISTED IN THE FILE ARE ALL THE PLOT LABEL STRINGS.
αW WRITE OUT A WHOLE DRAWING IF THE FILENAME HAS NO
"." IN IT THE EXTENSION ".DRW" (OR ".PC") WILL BE ATTACHED.
IF YOU SAY "∃" IN PLACE OF THE FILENAME THE LAST ONE USED
ON MAJOR INPUT OR OUTPUT WILL BE USED; IF NO PPN ARE GIVEN,
THEY ALSO WILL BE THE LAST ONES USED ON INPUT. IF OTHER
THAN THE LAST FILENAME AND PPN USED ON INPUT IS GIVEN,
A CHECK IS MADE TO SEE IF IT EXISTS ALREADY.
βW WRITE A WIRE LIST FILE. THE EXTENSION ".WD" (OR ".WPC") IS
THE DEFAULT.
εW WRITE A PLOT FILE. THE EXTENSION ".PLT" (OR ".PCP") WILL BE
USED IF NONE IS SPECIFIED.
PC αR CHANGE THE WORKING SIDE OF THE PC CARD TO THE OTHER SIDE.
PC βR LEAVE "BOTH SIDES" MODE.
PC εR ENTER "BOTH SIDES" MODE. THE CURRENT WORKING SIDE IS
DISPLAYED AT BRIGHTNESS 7 AND THE OTHER SIDE AT CURRENT
BRIGHTNESS.
PC ? USED IN CONJUNCTION WITH "SHORT" COMMAND. CAUSES NEXT SHORT
ERROR TO BE DISPLAYED. EACH POINT ASSOCIATED WITH THE ERROR
HAS A NUMBER FROM 1-4 ON IT. THIS NUMBER MAY BE USED IN THE
"J" COMMAND IN POINT MODE TO JUMP TO THE POINTS IN ERROR.
D ? USED IN CONJUNCTION WITH "IWIRES" OR "IERRORS" COMMANDS.
STEPS THROUGH THE SIGNALS IN THE INTERNAL LIST ONE AT A TIME
WHICH ALLOWS YOU TO CORRECT THE ERRORS (IERRORS) OR JUST LOOK
AT ALL SIGNALS (IWIRES). THE IWIRES IS USEFUL FOR LOOKING
AT ROUTER ERRORS BY RUN # SINCE THE RUN # IS DETERMINED BY
THE ORDER OF THE WDR FILE.
αH ASKS FOR A VARIABLE NAME AND INCREMENTS THE VARIABLE.
NUMERIC VARIABLES GET THE NEXT VALUE; STRING
VARIABLES ARE SEARCHED FOR A NUMBER AND +1 IS ADDED;
MULTI-STRING VARIABLES GET SET TO THE NEXT STRING.
UPON REACHING THE LAST STRING, A MULTI-STRING VARIABLE
BECOMES A NULL STRING. (SEE ALSO ;H UNDER MACRO COMMANDS.)
βH DEFINES A VARIABLE. ASKS FOR A DEFINITION. TYPE
<NAME>←<STRING> TO DEFINE A STRING VARIABLE OR
<NAME>:<STRING1><CR><STRING2><CR>...<CR><CR> TO
DEFINE A MULTI-STRING VARIABLE OR
<NAME>=<SUCCESSIVE VALUES> TO DEFINE A NUMERIC VARIABLE.
<NAME> IS ANY LENGTH AND CONSISTS OF THE CHARACTERS
A-Z, 0-9, . (PERIOD), %, $ (DOLLAR SIGN).
<SUCCESSIVE VALUES> CONSISTS OF A STRING OF <VALUE>'S OR
<ITERATION SPEC>'S SEPARATED BY COMMAS AND ENDING WITH
CARRIAGE RETURN. <VALUE> IS AN ALPHABETIC CHARACTER OR
A NUMBER (WITH OPTIONAL MINUS SIGN IN FRONT).
<ITERATION SPEC> IS <VALUE>(<INCREMENT>)<ENDVALUE>
OR <ITERATION SPEC>(<INCREMENT>)<ENDVALUE>.
IF <VALUE> IS ALPHABETIC IN AN ITERATION SPEC, THEN
<ENDVALUE> MUST ALSO BE ALPHABETIC. INCREMENTING AN
ALPHABETIC CHARACTER IS DONE ACCORDING TO THE DEC
ALPHABET. IF ADDING THE INCREMENT TO THE CURRENT VALUE
EXCEEDS (OR EQUALS) THE ENDVALUE, THEN THE VARIABLE IS
EQUAL TO THE ENDVALUE. IF THE CURRENT VALUE IS >0, THE
CURRENT VALUE IS PADDED WITH ENOUGH LEADING ZEROS TO
MATCH THE LENGTH OF THE INITIAL <VALUE> OF THE ITERATION
SPEC. IF THE <ENDVALUE> IS OMITTED AT THE END OF THE
DEFINITION, THE LAST (<INCREMENT>) GETS USED
INDEFINITELY. (THIS IS THE ONLY PLACE WHERE A ZERO
INCREMENT IS LEGAL.) IF THE DEFINITION ENDS WITH
A <VALUE> OR <ENDVALUE> AND INCREMENTING IS CONTINUED
BEYOND THE END OF THE DEFINITION, +1 BECOMES THE DEFAULT
INCREMENT.
εH TYPES ALL VARIABLES AND THEIR CURRENT VALUES ON THE TTY.
λX TYPES "WELL?" TO WHICH YOU MAY TYPE ANY OF THE
COMMANDS IN THE FOLLOWING LIST, SEPARATED BY COMMAS ENDING WITH
<CR>. THE ENTIRE LINE IS SCANNED BEFORE EXCUTING ANY OF THE COMMANDS.
THE EXTENDED SCANNER IS FOR SETTING THE VALUE OF VARIABLES.
TYPE ONE OF THE FOLLOWING TEXT STRINGS:
SLICE ASKS FOR "LOWER BOUND<UPPER BOUND>?" THIS SETS THE
UPPER AND LOWER BOUNDS ON RESULTS OF EXPRESSIONS IN
BRACKETS. THE BOUNDS ARE INCLUSIVE AND UPPER BOUND
MINUS LOWER BOUND MINUS ONE IS ADDED(SUBTRACTED)
TO(FROM) THE RESULT UNTIL IT IS INSIDE THE BOUNDS.
RETURN WILL SET THEM TO - AND + ∞ RESPECTIVELY.
NOW YOU ARE ASKED FOR "SET VARIABLES, LN?". YOU MAY
TYPE A STRING OF LETTER NUMBER PAIRS SEPARATED BY
COMMAS. WHENEVER THE LETTER IS ENCOUNTERED IN AN
EXPRESSION IT IS REPLACED BY ITS VALUE (THE NUMBER).
CLEAR THIS DELETES "ALL" BODIES, POINTS, AND SETS (IN LOGIC
DRAWING PROG. DEFINITIONS OF BODIES ARE ALSO DELETED.).
PC INNER THIS IS TO MAKE A "INNER PLANE FILE". IT DELETES ALL
TEXT, LINES, AND POINTS WHICH ARE NOT DRILL HOLES
AND PADS ALL DRILL HOLES WITH PAD TYPE β (CLEARANCE)
THIS IS THE NORMAL INPUT TO THE "PPLOT" COMMAND TO
MAKE INNER PLANE PLOTS. AFTER GIVING THIS COMMAND
TEXT AND LINES MAY BE ADDED, PAD TYPES MAY BE CHANGED
ETC., THE "CURRENT" SIDE IS STILL THE ONE WHICH GETS
PLOTTED.
DSKIN ASKS FOR A FILE NAME. THEN USES SAID FILE IN PLACE OF
TELETYPE INPUT! USE "≠" TO GET ALTMODE AND ∀ TO GET
CRLF. USE THE αβε KLUDGE TO GET CONTROL BITS!
USE λ (REALLY LAMBDA) TO CAUSE A TEMPORARY INPUT BREAK,
IT ALSO RETURNS A α: TO THE SCANNER, ENDING ANY ;T IN
PROGRESS. SEE ;I UNDER MACRO COMMANDS FOR MODIFYING
THE BREAK CHARACTER.
INPUT COMES FROM TTY UNTIL A ελ IS TYPED.
IF AN ERROR OCCURS (THAT WHICH CAUSES ??? TO BE TYPED)
AN AUTOMATIC DISK INPUT BREAK WILL BE GENERATED!
DSKINH DSKIN HOLD. THIS IS EXACTLY LIKE DSKIN, EXCEPT THAT
AFTER SETTING UP THE INPUT FILE, IT GENERATES A DSK
INPUT BREAK.
IFLUSH THIS COMMAND WILL FLUSH DISK INPUT BEFORE END OF FILE.
DSKOUT ASKS FOR FILE NAME. ALL TELETYPE INPUT IS COPIED TO
THE OUTPUT FILE. THE FILE IS NOW OF THE FORM TO USE
WITH "DSKIN".
CLOSE CLOSES THE FILE ENTERED BY "DSKOUT".
SAVE ASK FOR A FILENAME, THEN SAVES THE CURRENT CORE IMAGE
UNDER THAT FILENAME, THE DEFAULT EXTENSION IS DMP.
THE STARTUP ADDRESS IS SET TO RESTORE THE AC'S AND
RETURN AS IF YOU HAD JUST GIVEN THE SAVE COMMAND.
L RESAVE LIKE SAVE COMMAND, BUT CAUSES THE PROGRAM TO RESTART
WHEN IT IS RUN AGAIN. THIS IS GOOD FOR PATCHING
AND NOT HAVING THE NAME "L.DMP[1,3]" REMEMBERED AS
THE "∃" NAME.
ESAVE THIS DOES A SAVE WITH THE REMEMBERED NAME (∃)
AUTOSAVE THIS ASKS "HOW MANY COMMANDS BETWEEN ESAVES?" AND
EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED
IT DOES AN "ESAVE".
-AUTOSAVE DISABLE AUTOSAVE.
EWRITE THIS WRITES OUT THE DRAWING WITH THE REMEMBERED NAME (∃)
AT CMU, THE EXTENSIONS ARE:
DRX RATHER THAN DRW
PC RATHER THAN PC
AUTOWRITE THIS ASKS "HOW MANY COMMANDS BETWEEN EWRITES?" AND
EVERY TIME THAT MANY TOP LEVEL COMMANDS ARE PROCESSED
IT DOES AN "EWRITE".
-AUTOWRITE DISABLE AUTOWRITE.
ELIST WRITES A WIRE LIST FILE ('WD') WITH THE CURRENT
DEFAULT NAME. THE DEFAULT PPN IS NOT USED,
THE CURRENT AREA IS USED INSTEAD. IF YOU WANT
THE DEFAULT AREA, USE βW ∃<CR> INSTEAD.
EPLOT WRITES A PLOT FILE ('DPL') WITH THE SAME NAME
CRITERIA AS IN ELIST.
MAKEWD SETS BODY MODE AND DOES A CLEAR.
ASKS FOR A FILENAME, THEN IF THE DATE
OF THE 'WD' FILE CORRESPONDING TO THE 'DRW' FILE
WHOSE NAME YOU TYPED IS OLDER THAN THAT OF THE 'DRW' FILE,
THE 'DRW' FILE IS READ IN AND THE 'WD' FILE
WRITTEN OUT.
IWIRES THIS READS A LOGIC DRAWING WIRE LIST (ASKS FOR FILENAME)
AND BUILDS AND INTERNAL LIST OF POINTERS TO THE APPROPRIATE
PINS ON THE PC CARD (MUST HAVE ALREADY READ IN THE PC
CARD DRAWING). THIS COMMAND IS CURRENTLY ONLY USED WITH
THE "WROUTE" COMMAND. THE DEFAULT EXTENSION IS "WDR"
WHICH IS GENERATED BY THE UML "W" COMMAND.
IERRORS READS A 'LES' FILE IN AND PRINTS THE CATEGORY TITLE
THEN A "?". IF YOU TYPE "Y" IT READS IN THE RUNS IN
THE CATEGORY. OTHERWISE IT SKIPS THAT CATEGORY AND
GOES TO THE NEXT ONE. ONLY ONE CATEGORY IS READ IN
AT ANY TIME.
-IWIRES
-IERRORS THIS RELEASES THE STORAGE USED BY THE "IWIRES" COMMAND.
WROUTE ASKS FOR FILENAME, THEN WRITES THE FILE FOR INPUT TO
WAGNER'S ROUTING PROGRAM. IF THERE IS NO INTERNAL
POINTER LIST, YOU GET AN ERROR MESSAGE. THE NORMAL
FILENAME THAT WAGNER'S PROGRAM USES IS "FOR20".
THIS COMMAND DOES NOT PASS ANY WIRES WITH THE SIGNAL
NAMES "VCC" OR "GND".
ANY EXISTING WIRES OR FEED THROUGHS ARE PASSED TO THE
ROUTING PROGRAM, BUT WAGNER WILL NOT NOTICE IF THEY
PARTIALLY OR COMPLETELY CONNECT PINS WHICH NEED CONNECTING.
IPINS THIS READS A FILE FROM WAGNER'S PARTIONING PROGRAM
IT ASKS FOR A FILENAME (PROBABLY FOR20.DAT) THEN ASKS
IF WANT A FILENAME OTHER THAN THE CURRENT DEFAULT ONE.
THE CURRENT DEFAULT FILE NAME IS THE ONE YOU GET WHEN
YOU USE A "∃". IF THE FILENAME WHICH APPEARED IN THE
"FILE" COLUMN OF THE WIRE LIST FOR THE PINS YOU WANT
IS DIFFERENT THAN THE "CURRENT" ONE, TYPE IT. ELSE
JUST TYPE CR.
LSIGNALS TYPES OUT ALL THE SIGNAL NAMES ASSOCIATED WITH WIRES
IN WIRLST.
PC FLASH ASKS FOR A SIGNAL NAME, THEN FINDS THAT WIRE AND FLASHES
IT. THE FLASHING POINTS MAY NOW BE USED IN THE SAME
WAY AS IF YOU GOT THEM FROM THE LOGIC PROG.
ALSO, IF THERE ARE ANY AZ1 AND/OR EZ1 TYPE CONNECTOR
PINS IN THE RUN, THEN "AZ1" AND/OR "EZ1" IS (ARE)
FLASHED IN THE UPPER RIGHT HAND CORNER OF THE SCREEN.
-FLASH TURNS OFF ANYTHING THAT IS FLASHING!!!
PC NFLASH ASKS FOR A WIRE NUMBER. THE NUMBER IS THE ONE
WHICH WAS PASSED TO THE ROUTER IN THE DAT FILE.
THEN FINDS THE WIRE AND DOES THE SAME AS FLASH.
ERROR RE-ENABLE ERROR DISPLAY.
-ERROR THE <META>. IN D&PC AND "FLASH" AND "NFLASH" COMMANDS
IN PC, MAY ATTEMPT TO SHOW ERRONEOUS PINS BY DISPLAYING
"O←??" WITH THE "O" CENTERED ON THE PIN. THIS IS VERY
CONFUSING, SO THE "ERROR" COMMAND CAN ENABLE AND DISABLE
THE DISPLAYING OF THIS INDICATOR.
IPETIT READ P. PETIT'S ROUTER FILE, THIS HAS POSITIONS OF
DIPS WIRES AND FEED THROUGHS FOR AN ENTIRE CARD.
THE DEFAULT EXTENSION IS "PCC".
MACRO TYPES THE NAMES OF ALL DEFINED MACRO'S!
AMACRO ASKS FOR MACRO NAME, IF IT EXISTS, YOU ARE NOW IN ALTER
MODE WITH THE MACRO. THE FOLLOWING CONVERSIONS WERE MADE
TO PUT THE 9 BIT MACOR INTO THE 7 BIT TEXT EDITOR:
MACRO CHAR TEXT EDITOR CHAR
<CTRL> <VERTICAL TAB>
<META> <FORM FEED>
<CR> ∀
<ALTMODE> ≠
QUIT LEAVE MACRO ALTER MODE WITHOUT MODIFYING ORIGINAL MACRO
WMACRO WRITES ALL CURRENTLY DEFINED AND NAMED MACROES INTO A FILE
THE DEFAULT EXTENSION IS 'MCR'. ALSO WRITES OUT ALL VARIABLE
DEFINITIONS.
IMACRO READS A FILE WRITTEN BY "WMACRO" COMMAND AND DEFINES ALL THE
MACROES FOUND THEREIN, ALSO VARIABLE DEFINITIONS.
RMACRO RENAME A MACRO. ASK FOR OLD NAME, THEN NEW NAME. NEW NAME
MUST NOT BE IN USE ALREADY.
DMACRO DELETE A MACRO. ASK FOR MACRO NAME. MUST BE AT MACRO LEVEL
0 (I.E. NO MACROS IN PROGRESS).
PMACRO TYPE NAME OF MACRO, MACRO IS PRINTED ON CONSOLE INTERPRETING
CONTROL BITS INTO THEIR αβ REPRESENTATION.
SMACRO ASKS FOR A MACRO NAME. ENABLES THE NAMED MACRO TO BE SAVED
IN THE DRW OR PC FILE. A SPECIAL FEATURE INVOLVED IN THIS
IS AFTER COMPLETION OF INPUT, THE MACRO NAMED "INIT" IS
CALLED (IF DEFINED). THIS ALLOWS YOU TO HAVE THE WORLD SET
IN A CERTAIN STATE WHEN A PARTICULAR DRAWING IS READ IN.
NOTE: THESE MACROES ARE READ IN FROM LIBRARIES ALSO!
ALSO, THE MACRO NAMED "INIT" AUTOMATICALLY HAS AN "SMACRO"
COMMAND DONE TO IT WHEN IT IS DEFINED (;M OR ;D).
-SMACRO THIS DISABLES THE NAMED MACRO FROM BEING SAVED.
INIT ENABLE THE CALLING OF MACRO NAMED "INIT" WHEN DRAWING IS
READ IN (THIS IS THE DEFAULT).
-INIT DISABLE THE CALLING OF THE MACRO NAMED "INIT".
DPY ENABLE DISPLAYING.
-DPY DISABLE ALL DISPLAYING.
PC FLIP INVERTS THE X COORDINATES OF THE DISPLAY SO YOU
CAN LOOK AT THE CARD FROM THE "OTHER" SIDE.
ALSO AFFECTS PLOTTING, SO YOU CAN READ THE TEXT
THAT YOU PUT ON THE SOLDER SIDE OF THE BOARD
WHEN IT IS ETCHED.
PINS ENABLE DISPLAY AND PLOTTING OF PIN #'S.
THIS INCLUDES CONNECTOR PINS.
-PINS DISABLE PINS.
LOCS ENABLE DISPLAY AND PLOTTING OF BODY LOC'S.
-LOCS DISABLE LOCS.
D IDENT ENABLE DISPLAYING OF BODYNAMES NEAR BODIES!
D&PC ALSO DISPLAYS DIPNAME IF ANY!
-IDENT DISABLE SAME.
D CLOCS
CPINS TURN ON CONNECTOR PIN LOCS.
D -CLOCS
-CPINS TURN OFF CLOCS.
D CBOX ENABLE DISPLAYING OF BOXES AROUND CONNECTOR
PIN DESIGNATIONS (THIS IS THE DEFAULT MODE).
D -CBOX NO BOXES PLEASE.
D PINIDS ENABLE DISPLAYING OF PIN ID'S.
D -PINIDS DISABLE PINIDS.
LINES ENABLE DISPLAYING OF LINES.
-LINES DISABLE DISPLAYING OF LINES.
PC DIPS ENABLE DISPLAYING OF DIP PADS ABOVE SCALE OF 5.
PC -DIPS DISABLE DISPLAYING OF DIP PADS, SHOW BOX
APPROXIMATING PADS.
PC FINGERS ENABLE DISPLAYING OF CARD FINGERS AND SHORTING BARS
PC -FINGERS DISABLE SAME.
PC FEEDTHROUGH ENABLE DISPLAYING OF "X" "⊗" "O" ETC AT FEEDTHROUGHS AND PADS
PC -FEEDTHROUGH DISABLE SAME,
PC COMPONENT FORCE CURRENT SIDE TO BE COMPONENT SIDE
PC SOLDER FORCE CURRENT SIDE TO BE SOLDER SIDE
TEXT ENABLE TEXT.
-TEXT DISABLE TEXT.
D PTEXT ENABLE POINT TEXT SEPARATELY FROM BODY TEXT.
D -PTEXT DISABLE POINT TEXT SEPARATELY.
D BTEXT ENABLE BODY TEXT SEPARATELY.
D -BTEXT DISABLE BODY TEXT SEPARATELY.
D SETPINS DOES A βP TO ALL BODIES IN THE DRAWING. SEE βP IN
BODY MODE.
D -SETPINS CLEARS ALL DIP PIN #'S (SO PIN ID'S GET USED).
D TRANSPOSE ASKS FOR BODY NAME, THEN "L" OR "R" AND DOES βT FOR
ALL BODIES OF THE NAME YOU TYPED.
SETDIP
PC ASKS FOR DIP TYPE NAME, AND REMEMBERS THAT FOR WIRE LISTER.
D ASKS FOR BODY NAME, THEN DIP NAME, AND REMEMBERS FOR WIRE LISTER.
D OFFALL DOES AN εQ AND AN εZ TO EVERY POINT IN THE DRAWING.
D OFFRIGHT CAUSES ANY εZ COMMANDS TO ALSO SET A BIT WHICH CAUSES
THE LINE TO BE MOVED TO THE RIGHT INSTEAD OF MOVING THE POINT
LEFT.
D -OFFRIGHT TURN OFF OFFRIGHT FEATURE (DEFAULT STATE).
D TMOVE MOVE TEXT OFFSET USING CURSOR MOVING COMMANDS, BUT
THE OFFSET IS CHANGED DIRECTLY. THAT IS THE CURSOR MOVE
COMMAND IS NOT SCALED BUT IS 1, 2, 4, 8, 16, 32, OR 64
INCREMENTS (AND INCREMENT IS 1/8 OF A SIZE 1 CHAR WIDTH).
TO EXIT THIS MODE, TYPE SPACE OR ALTMODE. ANY OTHER CHAR
IS AN ERROR. WORKS FOR POINT TEXT AND EDIT TEXT.
D LMOVE SAME AS TMOVE, BUT MOVES CONNECTOR PIN LOCATION OFFSET.
D OFFLOCS THIS CAUSES THE LOCATION OFFSETS FOR ALL BODY LOCATIONS
CURRENTLY SET IN THIS DRAWING TO BE SET TO THE VALUE FROM
THE BODY DEFINITION. AND SETS THE BIT TO CAUSE THIS
OFFSET TO REMAIN WITH THAT OF THE DEFINITION.
D FIXALL DO βF (EDIT PIN MODE COMMAND) TO ALL BODIES..
D OUTSIDE SET MODE TO PUT PIN #'S OUTSIDE DURING AUTO PLACING.
D -OUTSIDE SET MODE TO PUT PIN #'S INSIDE DURING AUTO PLACING. DEFAULT.
WINDOW LIMIT OPERATIONS TO THE ON SCREEN PORTION OF THE
DRAWING.(THIS IS THE DEFAULT)
-WINDOW ALL OPERATIONS APPLY TO THE ENTIER DRAWING
NOT JUST THOSE THINGS ON SCREEN.
LWINDOW ANY LINE SEGMENT WHICH HAS ONE OR MORE ENDPOINTS
OFF SCREEN IS SOFTWARE WINDOWED. THIS CAUSES
A NOTICABLE AMOUNT OF COMPUTING SO BE CAREFUL!
-LWINDOW DISABLE LWINDOW (AND SAVE TIME).
NEWID RE-ALLOCATE ALL BODY AND POINT ID'S, THIS MAY BE
NECESSARY IF A LOT OF SET COPYING AND DELETIONS
ARE DONE.
D DIAMONDS ENABLE PLOTTING OF DIAMONDS AT THE INTERSECTION
OF FOUR LINE SEGMENTS (NOT SHOWN ON DISPLAY).
ASKS IF YOU WANT DIAMONDS AT THE INTERSECTION OF
THREE LINES!
D -DIAMONDS DISABLE DIAMONDS
CURSOR ENABLE LIGHT PEN TRACKER.
-CURSOR DISABLE LIGHT PEN TRACKER.
CLOCATE SHORT DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL
INDICATE THE CURRENT CURSOR POSITION.
-CLOCATE DISABLE CLOCATE.
LOCATE LONGER DASHED LINES, ONE HORIZONTAL AND ONE VERTICAL
INDICATE THE LOCATION OF THE "CLOSEST" THING.
-LOCATE DISABLE LOCATE.
CENTER CENTERS BLINKING POINTS(PC PROG) OR LINES(DRAWING PROG)
AND SETS APPROPRIATE SCALE FACTOR TO SEE ALL BLINKING
PINS. THIS IS DONE WHEN YOU TYPE THE COMMAND IF ANY
PINS ARE FLASHING, AND WHEN YOU START FLASHING ANY
NEW ONES.
-CENTER DISABLE CENTERING.
SPACES MAKES SPACES SIGNIFICANT FOR ALL COMPARISONS.
THIS APPLIES TO ALL αF COMMANDS, F IN ALTER MODE,
AND "FLASH" EXTENDED COMMAND.
-SPACES SPACES ARE NOT SIGNIFICANT, IN THIS MODE "↔" IS TREATED
AS A SPACE.
EXACT MAKES MATCH ROUTINE FOR ALL αF COMMANDS, F IN ALTER MODE, AND
"FLASH" EXTENDED COMMAND, TREATING
ALL CHARACTERS AS THEY ARE, DOESN'T CONVERT LOWER CASE
TO UPPER OR RECOGNIZE ~¬, ¬~, OR ~ AS SPECIAL.
-EXACT SEE UPPER AND LOWER CASE AS SAME. THIS IS THE DEFAULT.
DDT ENTERS DDT(RAID) IF PRESENT. TO RETURN
TYPE "R$G".
SCALE SET SCALE FACTOR.(GUARANTEED TO PUT GRID POINTS
ON III POINTS.)
ORIGINALLY SCALE=16(2 FOR PC)
PC STEP SET THE MINIMUM DISTANCE THE CURSOR WILL MOVE
FOR SMALLEST STEP (MUST BE DIVISIBLE BY 5 (MILS)).
D SIZE TELLS YOU HOW WIDE AND HIGH YOUR DRAWING WILL
BE IF PLOTTED AT SCALE OF 2 IN PLOT PROG.
ALSO TELLS YOU THE SMALLEST BOARDER WHICH
WILL FIT AROUND THIS DRAWING (ASK WHAT SCALE
YOU WILL USE!)
PC SIZE TELLS YOU HOW WIDE YOUR PC CARD WILL BE (NOT
COUNTING THE CARD OUTLINE) WHEN PLOTTED AT A
SCALE OF 1 (REAL SIZE).
BRIGHT ASKS:
NORMAL BRIGHTNESS? <type one digit or cr for no change>
ADDITIONAL BLINKING BRIGHTNESS? <same>
PC BOTH SIDES BRIGHTNESS? <same>
CURBRT SETS CURSOR BRIGHTNES
PC MOVE MOVES CURSOR X,Y(IN MILS) RELATIVE TO
ITS CURRENT POSITION.
XOFF SETS ABSOLUTE X OFFSET.
YOFF SETS ABSOLUTE Y OFFSET.
D TITLE ASKS FOR 2 STRINGS, "TITLE LINE 1" AND "TITLE LINE 2"
THESE ARE REMEMBERED AND USED FOR PLOT FILES SO YOU
DON'T HAVE TO TYPE IT TO THE PLOT PROG. IF NULL STRING
IS GIVEN, THE PLOT PROG WILL ASK FOR THAT ONE.
At CMU only the first title line is actually plotted.
D AUTHOR LIKE TITLE BUT SETS STRING TO BE USED FOR "DRAWN BY"
PART OF PLOT.
D REVISON SET REVISION STRING FOR PLOT BOX.
This string is ignored at CMU.
D MODULE SET MODULE STRING FOR PLOT BOX.
This also be string may also be also referred
to as the DRAWING NUMBER.
D PROJECT SET PROJECT STRING FOR PLOT BOX.
D PAGE SET 2 STRINGS, "PAGE" AND "OF".
D LTITLE LIST THE FOLLOWING STRINGS: TITLES, AUTHOR, REVISION,
MODULE, PROJECT, AND PAGE N OF M.
D PBOX ASKS FOR BOX SIZE (TYPE SINGLE LETTER A-D).
SCALES DRAWING AND TEXT TO JUST FIT INTO BOX
BUT MAINTAINS RATIO BETWEEN TEXT AND LINES
WHICH YOU SEE ON THE SCREEN. WILL NOT BE SCALED
LARGER THAN THAT WHICH MAKES TEXT LARGER THAN
SIZE 3 ON PLOTTER. TELLS YOU SCALES BEFORE ASKING
FOR FILE NAME.
D SHOWBOX ASKS FOR "<BOX LETTER><DRAWING SCALE>/<PLOT SCALE>?"
THESE INDICATE THE BOX YOU WILL USE, THE DRAWING SCALE
AT WHICH YOU WILL MAKE THE PLOT FILE (THE ONE IT LOOKS
GOOD AT), AND THE PLOT SCALE YOU WILL USE LATER (USUALLY
CONTROLLED BY THE CHAR SIZE YOU WANT). THIS PUTS UP A
BOX EXACTLY WHERE THE PLOT PROG WILL PLOT IT (DOESN'T
INCLUDE THE ID BOX AT THE BOTTOM, JUST THE USABLE SPACE).
THE BOX DOESN'T CHANGE RELATIVE TO THE DRAWING WHEN YOU
SHIFT OR SCALE IT. IF DRAWING SCALE IS LEFT OUT CURRENT
SCALE IS USED. IF PLOT SCALE IS LEFT OUT, 2 IS USED.
D PICCEN CALCULATES A SHOWBOX, THEN MOVES ENTIER DRAWING SO THAT
THE BOX WOULD BE CENTERED AROUND THE ABSOLUTE ORIGIN.
PC PPLOT PLOT AN INNER PLANE. ASKS FOR PLANE NUMBER. DOESN'T PLOT
PADS WHICH TOUCH THE PLANE IN QUESTION. LINES ARE
PLOTTED. WILL ALSO PLOT TEXT.
D MUNG MASSAGE. TRIES TO MAKE ALL LINES IN THE DRAWING EITHER
HORZ. OR VERT.
PC MUNG FORCES ALL POINTS AND DIPS ONTO GRID POINTS.
THIS IS DONE BY TAKING THE X AND Y LOCATIONS
OF ALL THE DIPS AND POINTS IN THE DRAWING AND
MAKING THEM MULTIPLES OF THE CURRENT STEP SIZE.
IF IN SET MODE ONLY THE CURRENT SET IS MUNGED.
(I WONDER WHY I CALLED THIS "MUNG"?)
COUNT TELLS YOU HOW MANY POINTS THERE ARE IN THE ENTIRE
DRAWING. ALSO TELLS YOU HOW MANY OF EACH TYPE OF BODY.
PC ALSO TELLS YOU HOW MANY OF THE POINTS ARE DRILL HOLES.
DELNULL ASKS IF YOU WISH TO PICK AND CHOSE OR DELETE
ALL NULL POINTS, THEN DOES THAT. A NULL POINT
IS ONE WITH NO LINES, NO TEXT, AND NO PIN
CONNECTIONS.
DANGLE FINDS ALL POINTS IN THE DRAWING WHICH SATISFY
ONE OF THE FOLLOWING:
1) TWO COLINEAR LINES (ONLY TWO)
2) ONE LINE AND NO TEXT OR CPIN
3) TEXT AND NO LINES
4) NO TEXT OR LINES
5) CPIN AND NO LINES
DELSET DELETE ALL SETS, DOESN'T DELETE CONTENTS.
SETCEN RECALCULATE CENTERS OF ALL SETS.
D TYPDEL ASKS "TYPE BODY NAME" THEN DELETE ALL INSTANCES AND
THE DEFINITION. IF FROM LIBRARY, DEFINITION IS NOT
DELETED.
D RENAME ASKS "TYPE BODY NAME" THEN ASKS "TYPE NEW
BODY NAME" THE BODY IS GIVEN THAT NAME IF
IT IS NOT IN USE.
D GETLIB ASKS FOR A "LIBRARY FILENAME?" THEN READS THE BODIES
FROM THAT FILE AND MAINTAINS A POINTER TO THE FILE
INSTEAD OF WRITING OUT THE BODY DEFINITIONS EACH TIME.
REDUNDANT LIBRARY REFERENCES ARE IGNORED WHEN POSSIBLE.
D DELLIB DELETES ALL REFERENCES TO BODIES IN THE LIBRARY YOU
MENTION, AND FLUSHES THE POINTER TO THE FILE.
D LOCLIB SAME AS DELLIB, EXCEPT THAT ANY BODY WHICH IS USED IN
THE DRAWING IS MADE LOCAL INSTEAD OF BEING DELETED.
D TYPLIB TYPES ALL LIBRARY FILENAMES.
D LIBMAP ASKS FOR OLD LIBRARY FILENAME, THEN NEW LIBRARY
FILENAME. YOU SHOULD TYPE THE PPN
EXPLICITLY AS THE DEFAULT FOR 0
IS SET ONLY TO THAT OF THE CURRENT AREA, NOT FROM
THE CURRENT PATH. THIS ALL SETS UP A MAPPING OF LIBRARY
NAMES. WHEN A LIBRARY NAME IS READ FROM A DRW FILE,
THE LIBMAP LIST IS CHECKED FOR AN OLD LIBRARY NAME
THAT IS THE SAME. IF ONE IS FOUND, THE NEW LIBRARY
NAME IS SUBSTITUTED FOR IT. TO CLEAR
A SINGLE MAPPING TYPE <CR>
FOR THE NEW LIBRARY NAME.
D -LIBMAP CLEAR ALL LIBRARY NAME MAPPINGS.
LIBPPN ACCEPTS A PPN WHICH IS USED AS THE PLACE
TO FIND THE FILE "DIPS.DIP" WHICH HAS THE
DIP DEFINITIONS IN IT. LATER ON IT MAY ALSO
BE USED AS A PLACE TO LOOK FOR LIBRARIES.
-LIBPPN RESET LIBPPN TO 0 (WILL LOOK ON CURRENT AREA
AND CURRENT PATH.
D GETBOD ASK FOR A TYPE NAME, THEN A FILENAME
THEN TRIES TO READ IT IN USING THE NORMAL
IO ROUTINES (MAY HAVE TO REPLACE, ETC.).
D MODLIB THIS COMMAND SHOULD BE USED VERY CAREFULLY. IT ALLOWS YOU
TO EDIT BODY DEFINITIONS, AND MAKE ANY OTHER CHANGES NORMALLY
NOT ALLOWED DUE TO THE EXISTANCE OF A LIBRARY. YOU MUST THEN
MAKE EXACTLY THE SAME CHANGES TO THE LIBRARY FILE SO AS TO
MAINTAIN CONTINUITY.
PC CARD ASKS FOR CARD NUMBER, THEN READS IN THE SPECIFIED
CARD. THE CARD CONTAINS THE CARD IMAGE ALL PINS,
PIN #'S, CONNECTOR LOC'S, AND SHORTING BARS.
ANY POINT WHICH IS NOT A FEED THROUGH OR A DIP PIN
AND IS FOUND AT THE SAME LOCATION AS A CONNECTOR
PIN WILL BECOME THAT CONNECTOR PIN. IF THE NUMBER
YOU ASK FOR IS THE SAME AS THE CURRENT CARD, THEN
IT IS MERELY DISPLAYED AGAIN. ARGUMENT OF 0 (OR
JUST CR.) WILL CAUSE THE CARD TO BE FLUSHED!
THE CARD NUMBER IS REMEMBERED WHEN THE CARD IS WRITTEN
OUT!
PC -CARD DISABLE DISPLAYING OF CARD. CARD NUMBER IS STILL
WRITTEN OUT. TO REDISPLAY THE CARD TYPE "X" THEN
"CARD" CR FOLLOWED BY THE SAME CARD NUMBER AND IT
WILL BE RE-DISPLAYED.
PC SETLOC SET NLLN FOR LOCATION OF THIS CARD ON BACK PANEL.
D SPEADS NLLN THROUGH ALL LOCATIONS OF BODIES AND
CONNECTOR PINS IN THIS DRAWING.
-SETLOC CLEAR LOCATIONS ON ALL BODIES.
PC UML WILL ASK FOR THE LETTER OF THE UPPERMOST DIP AND
THE NUMBER OF THE RIGHTMOST DIP. THEN IT WILL SLICE
UP THE CARD INTO ROWS AND COLUMNS AND ASSIGN DIP
LOCATIONS.
PC VCC ALLOWS CONNECTION OF HIGHEST NUMBERED PIN OF DIP
TO PROPER INNER PLANE, ONLY ON DIPS WITH MORE THAN
3 PINS.
U WILL ALSO CONNECT VCC RUN TO INNER PLANE IF FOUND IN
WIRLST.
PC GND SAME AS VCC EXCEPT GROUND PINS AND RUN (U).
RPC ROUTE INITIALIZE ROUTING SYSTEM. THIS MAY BE DONE
IF YOU THINK THE PROGRAM ISN'T KEEPING THE
TABLES UP TO DATE, THE PROGRAM WILL TRY TO
REINITIALIZE THE TABLES WHEN NECESSARY.
RPC RDISP DISPLAY A POINT IN EACH OCCUPIED SQUARE ON THE
PC CARD. THIS IS ONLY A DEBUGGING AID.
RPC -RDISP DISABLE DISPLAYING OF POINTS.
RPC RCODE ASKS FOR "ROUTE CODE". YOU MAY TYPE A NUMBER
FROM 0-3. THEY HAVE THE FOLLOWING MEANINGS:
0 ROUTE ON COMPONENT SIDE ONLY
1 ROUTE ON SOLDER ONLY
2 HORIZONTAL ON COMPONENT, VERTICAL ON SOLDER
3 VERTICAL ON COMPONENT, HORIZONTAL ON SOLDER
STARTING THE PROG SETS RCODE TO 3!
RPC THE FOLLOWING COMMANDS ALLOW MODIFICATION OF THE ROUTING
ALGORITHM BY CHANGING THE WEIGHTING FACTORS OF CERTAIN
TYPES OF ROUTES. THE COMMAND IS THE VARIABLE NAME.
THIS CAUSES THE OLD VALUE TO BE PRINTED AND THEN
ASK FOR THE NEW VALUE. <NUMBER><CR> SETS THE VARIABLE
TO NUMBER. ANYTHING FUNNY LEAVES THE VARIABLE UNCHANGED
THE FOLLOWING VARIABLES EXIST AND HAVE THE FOLLOWING
MEANINGS:
CNR THE COST OF MAKING A CORNER (NOT INCLUDING
FEED THROUGHS).
FED THE COST OF MAKING A FEED THROUGH.
BAK THE COST OF GOING AWAY FROM THE DESTINATION
POINT.
SID THE COST OF ONE STEP ON THE WRONG SIDE OF
THE BOARD (RCODE= 2 OR 3). NOT CHARGED AT
CORNER!
PC SHORT THIS COMMAND SORTS EACH SIDE OF THE PC CARD
INTO INTERNAL LISTS THEN CHECKS FOR SHORTS
BETWEEN POINTS, POINT TO LINE, AND LINES
CROSSING. ALL ERRORS ARE STORED IN A LIST
WHICH MAY NOW BE SEARCHED USING THE "?"
COMMAND (SEE "COMMANDS WHICH WORK ANYTIME").
THEN FOLLOWING COMMANDS ALLOW YOU TO DIDLE THE
VALUES USED FOR LINE WIDTHS, ETC.
PC -SHORT SHUT OFF SHORT ERROR DISPLAY (ERROR IS LOST).
PC WIDTH REPORTS OLD LINE WIDTH, ACCEPTS NEW.
PC HOLE CHANGE DIAMETER OF A BARE DRILL HOLE.
PC CONNECTOR CHANGE PSEUDO-DIAMETER USED FOR CONNECTOR PIN
PC PADDIAMETER ASK FOR "PAD TYPE NUMBER" THEN REPORTS
OLD VALUE, AND ACCEPTS NEW.
PC SEPARATION CHANGE MINIMUM SEPERATION TO PREVENT SHORTING
PC FTXT FIND TEXT, SAME AS εF IN D IN POINT MODE.
PC FCPIN FIND CONNECTOR PIN, SAME AS βF IN D IN POINT MODE.
FDIP FIND DIP, LIKE εF IN BODY MODE, BUT MATCHES DIP
TYPE STRING INSTEAD OF BODY NAME.
POINT MODE:
THE FOLLOWING APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS εP OR εT
AND A POINT WAS FOUND.
αP PLACE A POINT AT THE CURRENT CURSOR POSITION.
D λ+ START A RIGHT ANGLE FOLLOWING THE CURSOR FROM THE CLOSEST
POINT. A STAR IS PLACED AT THE CLOSEST POINT EXCLUDING
THE ONE YOU ARE DRAWING FROM.
D λ$ (ALTMODE) STOP RIGHT ANGLE WITHOUT PLACING ANY
MORE POINTS AND RETURN TO MAIN SCANNER.
D λ- ATTACH THE RIGHT ANGLE TO THE CLOSEST POINT
(FOUND ABOVE) AND RETURN TO THE MAIN SCANNER.
??? IS TYPED IF THIS WOULD REQUIRE THE DELETION
OF AN EXISTING LINE, AND NOTHING IS DONE!
D λ¬ MAKE A SINGLE SEGMENT FROM THE POINT THE RIGHT
ANGLE IS COMING FROM TO THE CLOSEST POINT.(MAY
NOT NECESSARILY BE HORZ. OR VERT., SO STRAIGHTEN
IT.).
D λ+ MAKE THE CORNER OF THE ANGLE INTO A POINT THEN
START A NEW RIGHT ANGLE FROM THERE.
D λSPACE CAUSES THE SENSE OF THE ANGLE TO CHANGE.
D βA SEE βA BELOW.
PC λ+ START A LINE FOLLOWING THE CURSOR FROM THE CLOSEST POINT
PC λ$ LEAVE LINE DRAWING MODE WITHOUT PLACING LAST LINE.
PC λ- ATTACH LINE TO POINT WITH STAR ON IT.
PC λ+ PUT DOWN END OF LINE AT CURSOR POSITION AND START
NEW LINE.
PC λ| SIMULATES THE FOLLOWING, "+ <ALTMODE> αF αR +".
IF YOU ARE NOT IN LINE DRAWING MODE, IT SIMULATES
"αFαR+" ONLY.
PC βA SEE βA BELOW.
PC αF MAKE THE CLOSEST POINT INTO A FEED THROUGH. CREATE A POINT
ON THE OTHER SIDE IF ONE DOES NOT ALREADY EXIST. PAD TYPE
# IS SET TO 0.
PC βF LEGAL ONLY FOR FEED THROUGHS AND PINS. ATTACHES THE POINT
TO THE INTERIOR PLANE SPECIFIED(0-3) AND INDICATES THIS ON
THE POINT. 0 SHOULD BE USED FOR GROUND. 1 FOR TTL SUPPLIES.
PC εF LEGAL FOR ALL POINTS. ASKS "PAD TYPE #?" THE NUMBER YOU
TYPE IS THE IDENTIFICATION # FOR THE TYPE OF PAD TO PLOT
HERE. 0 IS NO PAD. 1 IS DEFAULT FOR DIP PADS. 2 IS DEFAULT
FOR INNER PLANE CLEARANCES, THESE ARE SET ON BOTH SIDES
OF DRILL HOLES WHEN THE EXTEND MODE COMMAND "INNER" IS USED.
PAD TYPE 3 IS 50 MIL SQUARE USED FOR DIP PIN 1!
PC αU MAKE THIS FEED THROUGH NOT A FEED THROUGH.
PC βU DETACH THIS POINT FROM ANY INTERIOR PLANES.
αD DELETE CLOSEST POINT AND ALL LINES DIRECTLY ATTACHED TO IT.
IF THE POINT IS A PIN IT DOESN'T REALLY GO AWAY JUST THE
LINES, AND TEXT.
D βD SAME AS αD EXCEPT THAT COLINEAR SEGMENTS ARE MERGED.
THIS WILL REVERSE A βB OPERATION ON A LINE!
PC βD SAME AS αD EXCEPT IN THE CASE WHERE EXACTLY 2 LINES LEAVE
THE POINT. IN THIS CASE THE TWO LINES ARE MERGED INTO ONE
BETWEEN THE REMAINING 2 POINTS.
αM PUTS THE CURSOR ON THE CLOSEST POINT. THEN MAKES IT FOLLOW
THE CURSOR UNTIL A SPACE IS TYPED. THE LINES ARE MASSAGED
AS YOU GO.
βM PUTS CURSOR AT CURRENT TEXT OFFSET (IF ANY TEXT) AND ALLOWS
YOU TO CHANGE IT BY MOVING THE TEXT. IN D THE OFFSET IS RELATIVE
TO THE CHARACTER SIZE, IN PC THE OFFSET IS TO AN ABSOLUTE
POSITION ON THE CARD.
D TURNS OFF BIT(S) TURNED ON BY εZ.
εM LIKE αM, EXCEPT THAT THE CURSOR IS NOT MOVED TO THE POINT
SO THE POINT IS MOVED TO THE CURSOR.
αA ATTACH THE CLOSEST POINT TO THE CLOSEST OTHER POINT. A STAR
IS PLACED ON THE OTHER POINT AND YOU ARE ASKED "THIS ONE?"
TYPE "Y" TO ATTACH, ANYTHING ELSE TO RETURN TO COMMAND MODE.
YOU MAY NOT ATTACH 2 PINS.
βA PUTS AN "L" ON THE CLOSEST LINE AND ASKS "THIS ONE?"
IF YOU SAY "Y" THEN THE CLOSEST POINT WILL BECOME THE
INTERSECTION-POINT OF THE LINE.
IN POINT MODE WHEN DRAWING A LINE THE CLOSEST OTHER LINE
WILL GET A POINT ON IT AT THE PLACE WHERE THE LINE YOU
ARE DRAWING INTERSECTS IT. THEN A MINUS IS DONE TO THAT
POINT.
αB IF THE CLOSEST POINT HAS 3 LINES ATTACHED TO IT, ONE OF
THE 2 COLINEAR LINES IS BROKEN OFF FROM THE THE POINT
AND ATTACHED TO A NEW POINT. THE NEW POINT IS THEN
CONNECTED TO THE OLD ONE BY A SEGMENT IN THE OTHER
DIRECTION.
IF THE POINT HAS 4 LINES ATTACHED TO IT, THE UP AND RIGHT
ARE RECONNECTED TO A NEW POINT WHICH IS THEN JOINED TO
THE OLD POINT BY A HORIZONTAL SEGMENT.
POINT WITH 2 HORZ LINES, OR 2 VERT LINES, IS DONE LIKE 3
LINES. IF NOT 2, 3 OR 4 LINES, THEN ERROR.
βB THIS IS PRECISELY LIKE αB, EXCEPT IN THE CASE OF 4 LINES
THE NEW SEGMENT CREATED IS VERTICAL INSTEAD OF HORIZONTAL.
αT ASKS "TEXT?" AND ATTACHES THE STRING TO THE POINT.
IF "↔" APPEARS IN THE STRING, A CRLF IS INVENTED.
IF THE CHARACTER "\" IS THE FIRST IN THE STRING
THE FOLLOWING CHARACTER IS INTERPRETED AS THE CHAR.
SIZE. NEITHER CHARACTER APPEARS IN THE STRING.
IF A "V" APPEARS JUST BEFORE THE CHAR. SIZE THEN THE
TEXT WILL BE PLOTTED VERTICALLY. A POINT IS DISPLAYED
AT THE BEGINNING OF SUCH TEXT.
D IF THE POINT PREVIOUSLY HAD NO TEXT IT IS ADDED TO "TXTLST".
UNLESS "TXTLST" IS EMPTY.
D εZ CALCULATES A GOOD OFFSET FOR THE TEXT IF THE POINT HAS ONLY
ONE SEGMENT ATTACHED TO IT. ALSO SETS A BIT WHICH CAUSES
THIS OFFSET TO BE UPDATED WHEN THE TEXT CHANGES. ALSO IF
CURRENTLY IN OFFRIGHT STATE, A BIT IS TURNED ON TO CAUSE
THIS POINT TO MOVE RIGHT INSTEAD OF THE TEXT LEFT WHEN
THE LINE LEAVES GOING TO THE RIGHT.
D βZ TURNS OFF THE BIT TURNED ON BY εZ.
D εQ CALCULATES A GOOD OFFSET FOR THE CONNECTOR PIN DESIGNATION
UNDER THE SAME CONDITIONS AS εZ. ALSO SETS A BIT TO CAUSE
THE CPIN DESIGNATION TO FOLLOW THE TEXT (OR THE POINT IF
NO TEXT) WHEN EITHER THE CPIN # OR THE TEXT IS CHANGED.
D βQ TURNS OFF THE BIT TURNED ON BY εQ.
D βT αT FOLLOWED BY εZ.
αK IF THE CLOSEST POINT HAS TEXT ON IT THE TEXT IS DELETED.
D POINT IS REMOVED FROM "TXTLST".
αZ LOADS THE TEXT INTO THE LINE EDITOR. THEN INPUTS THE
RESULTANT STRING AND REPLACES THE TEXT WITH IT.
αQ SAME AS "Z" EXCEPT THE LINE EDITORS CURSOR IS AT THE END
OF THE LINE.
D αN IF POINT OR CONNECTOR PIN:
SET CONNECTOR PIN NUMBER.
PIN NUMBER IS OF THE FOLLOWING FORM:
NLNLLN
OR
LLN
A GOOD INITIAL OFFSET IS CALCULATED.
IF PIN:
JUST TYPE PIN NUMBER.
L IF YOU TYPE "∃" AND ONE AND ONLY ONE CONNECTOR PIN WAS
FOUND ON THE LAST RUN TRACED IN THE PC PROG, ITS LOCATION
IS USED FOR THIS CONNECTOR PIN #.
D βN FOR CPIN'S ONLY. PUTS YOU AT THE CURRENT OFFSET FOR THE
LOC TEXT AND LETS YOU MOVE IT. OFFSET IS RELATIVE TO CHAR
SIZE OF LOC TEXT NOT PIC SCALE. ILLEGAL IF εQ DONE TO THIS
POINT.
λ∩ MOVE TO LEFTMOST POINT.
PC SEGMENT CHOSEN IS THE ONE WHICH MOST NEARLY POINTS IN THE
CORRECT DIRECTION. IF NONE IN RIGHT DIRECTION, WILL CHOSE
AN ORTHOGONAL ONE IF ONLY ONE EXISTS.
D CHOSES SEGMENT IN THE SPECIFIED DIRECTION. IF NONE EXISTS
WILL CHOSE ONE IN ORTHOGONAL DIRECTION IF ONLY ONE.
λ∪ MOVE TO RIGHTMOST POINT.
λ⊂ MOVE TO DOWNMOST POINT.
λ⊃ MOVE TO UPMOST POINT.
α" IF TEXT ON THIS POINT, ASKS FOR TEXT MACRO NAME. THEN
STORES A COPY OF THE THE TEXT IN THE MACRO. NULL MACRO
IF NOT TEXT.
β" IF CONNECTOR PIN LOC ON THIS POINT, ASKS FOR TEXT MACRO NAME.
THEN STORES A COPY OF THE TEXT YOU WOULD TYPE IN TO SET THIS
LOC IN THE MACRO. NULL MACRO IF NO LOC.
α& <CURRENT SET>←<CURRENT SET> UNION <CLOSEST POINT>
POINT MAY NOT BE A PIN. IN PC CURRENT POINT MAY NOT BE
A CONNECTOR PIN.
β& TRACE CONNECTIONS TO THIS POINT THROUGH BODIES AND POINTS
AND PUT EVERYTHING FOUND IN A SET, ENTER SET MODE AND MOVE
CURSOR TO SET CENTER AND MAKE SURE IT IS ON SCREEN.
ε& CLEAR <CURRENT SET>.
α# REMOVE POINT FROM CURRENT SET.
β# REMOVE POINT FROM ALL SETS.
D εF ASKS "SEARCH STRING". IF ENDED WITH ALTMODE NOTHING IS DONE.
IF NULL STRING, OLD ONE WILL BE USED IF ANY. SEARCHES FOR
ALL POINTS WHOSE TEXT HAVE THE SEARCH STRING AS A SUBSTRING.
THE SPECIAL CHARS ALLOWED ARE DESCRIBE IN THE "F" COMMAND
IN ALTER MODE DESCRIPTION. IF A MATCH IS FOUND, THE POINT
IS MARKED FOR LATER REFERENCE.
D βF ASKS "SEARCH STRING". CONNECTOR SPECS FOR EACH CPIN ARE
CONVERTED INTO TEXT AND MATCHED AGAINST THE SEARCH STRING
IN THE SAME WAYS AS εF.
D αF FIND A MARKED POINT. IF ON SCREEN, MOVE CURSOR THERE. IF NOT
MOVE IT TO SCREEN CENTER AND MOVE CURSOR THERE.
L . SAVE NAME OF THIS PIN (MUST BE BODY PIN OR CONNECTOR
PIN), AND GO TO THE OTHER PROG. IT IS THEN LOOKED UP
IN THE OTHER PROG. IF IT IS FOUND, IT AND THE CURSOR
ARE BROUGHT TO THE CENTER OF THE SCREEN. IF PC AND
A CONNECTOR PIN, YOU ARE PLACED ON THE PROPER SIDE OF
THE CARD.
α. (PERIOD) TRACE WIRE ATTACHED TO THIS POINT AND FLASH IT.
TRACING INCLUDES WIRES WITH SAME SIGNAL NAMES (D ONLY).
IF ANY CONS ARE ON THE WIRE, BUT OFF SCREEN, ONE OF THEM
IS FLASHED IN THE UPPER RIGHT CORNER OF THE SCREEN(D ONLY).
L ALL PINS FOUND ARE PUT IN A LIST AND LOOKED UP IN THE
OTHER PROG THE NEXT TIME YOU GO THERE, THEN THEY AND
ANY POINTS THEY CONNECT TO ARE FLASHED.
β. EQUIVALENT TO "α." FOLLOWED BY "εV" IF LAYOUT VERSION
OTHERWISE SAME AS "α.".
LRPC ε. ENTER ROUTING MODE FOR FLASHING PINS.
PROGRAM RESPONDS WITH "ROUTING PAIR = ".
YOU WILL NOTICE THAT THE FLASHING PINS HAVE
LETTERS ON THEM. TYPING TWO OF THE LETTERS
FOLLOWED BY CR, CAUSES THE ROUTING ROUTINE
TO BE ENTERED WITH THESE TWO PINS AS THE
ENDPOINTS. ALL THE NORMAL COMMANDS APPLY TO THE ROUTING
ROUTINE (NORMALLY ENTERED BY "εE") UP UNTIL THE TIME
THAT YOU LEAVE IT. TYPING "ALTMODE" CAUSES YOU TO LEAVE
ROUTING MODE. ANYTHING FUNNY GETS YOU THE
QUERY AGAIN!
LRD ε. EQUIVALENT TO "εV" FOLLOWED BY "ε."!
λJ<letter> FINDS LETTER <letter> OF FLASHING PINS AND MOVES
CURSOR THERE (IF POSSIBLE). ONLY WORKS WHEN LETTERS ARE
BEING SHOWN! (ALSO WORKS FOR JUMPING TO "SHORT" ERRORS
IF YOU TYPE A NUMBER INSTEAD OF A LETTER).
λJ←<number>
THIS FINDS THE nTH FLASH CONNECTOR PIN (DEFAULT IS 1)
AND JUMPS TO IT.
εA IF THE CLOSEST POINT HAS TEXT ON IT YOU ENTER ALTER MODE!
ALTER MODE IS A TEXT EDITOR DESCRIBED BELOW
WHEN YOU LEAVE ALTER MODE (ALTMODE) IF THE <CTRL> KEY IS HELD
DOWN, AN εZ IS DONE. IF THE <META> KEY IS HELD DOWN, AN εQ IS
DONE.
RPC αE SET ENDPOINT ONE FOR ROUTING. A "←" INDICATES ENDPOINT ONE.
RPC βE SET ENDPOINT TWO FOR ROUTING. A "↔" INDICATES ENDPOINT TWO.
RPC εE MAKE A ROUTE FROM ENDPOINT ONE TO TWO. THE ALGORITHM
COMPUTES SCORES FOR ROUTES. IT TRIES TO FIND ROUTES WITH
SCORES OF 0 FIRST, THEN 1, ETC. WHEN A ROUTE IS FOUND YOU
WILL BE ASKED "HOW ABOUT THIS ONE" AND THE ROUTE WILL BE
BLINKED. WIRES ON THE CURRENT SIDE WILL BE BRIGHTER THAN
THOSE ON THE OTHER. IF YOU RESPOND "Y" THE ROUTE WILL BE
MADE AND MARKED. IF YOU SAY " " (SPACE) THE ROUTE WILL BE
DISCARDED AND ANOTHER FOUND. IF YOU SAY "α " (CTRL SPACE)
THE PROGRAM WILL SHIFT TO THE NEXT HIGHEST SCORE AND
CONTINUE LOOKING. IF YOU SAY "$" ALTMODE THE PROGRAM WILL
JUST QUIT. ANYTHING ELSE WILL GET YOU "???" AND THE
QUESTION REPEATED. ALTMODE AND CTRL SPACE WILL WORK EVEN
WHEN THE PROGRAM IS RUNNING (KEYBOARD INPUT ONLY)!
BODY MODE:
THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS
εB AND A BODY WAS FOUND.
αP PLACE A BODY AT THE CURRENT CURSOR POSITION. YOU
ARE THEN PLACED IN MOVE MODE ON THAT BODY.
PC PIN 1 GETS PAD TYPE 3 ALL THE OTHERS GET PAD TYPE 1.
D αE EDIT THE CLOSEST BODY.
D αR REPLACE THE CLOSEST BODY. YOU WILL BE ASKED FOR NEW BODY
PC αG NAME THEN THE YOU MAY SET THE REPLACEMENT MODE. IF YOU
ANSWER "S" TO THE REQUEST THE CORRESPONDENCE IS PIN#
TO PIN#. IF YOU ANSWER "L" TO THE REQUEST, THEN A GEOMETRIC
(CLOSEST PIN) MAPPING IS USED. IF YOU ANSWER "C" TO THE
REQUEST A GEOMETRIC MAPPING WHICH WORKS FOR DIFFERENT #S
OF PINS WILL BE USED. IF YOU ANSWER <CRLF> THEN YOU WILL BE
ASKED FOR THE CORRESPONDENCE PIN BY PIN. ANY UNSPECIFIED
PINS ON THE OLD BODY ARE DELETED, ANY UNSPECIFIED PINS ON
THE NEW BODY ARE CREATED. IN "L" MODE, IF EACH PIN CANNOT
BE MATCHED TO ANOTHER YOU WILL BE THROWN OUT!
D βR REPLACE SOME. ASKS FOR OLD BODY NAME, THEN NEW BODY NAME,
PC βG THEN SETS UP CORRESPONDENCE AS IN αR, THEN PUTS A "*" ON
EACH INSTANCE OF THE OLD BODY AND ASKS "THIS ONE?" IF YOU
SAY "Y", IT IS REPLACED, OTHERWISE IT IS NOT. IF YOU SAY
ALTMODE YOU GET BACK TO BODY MODE. THIS ONLY WORKS ON
ONSCREEN BODIES.
D εR REPLACE ALL. LIKE REPLACE SOME EXCEPT YOU AREN'T ASKED.
PC εG "
αD DELETE THE CLOSEST BODY.
βD DELETE THE CLOSEST BODY, PINS ARE TURNED INTO POINTS
INSTEAD OF BEING DELETED.
αM MOVE THE CLOSEST BODY. THE CURSOR IS PUT AT THE CENTER OF
THE BODY. THEN ALL PINS ON THE BODY ARE MASSAGED AS THE
BODY IS MOVED. ANY CHARACTER STOPS YOU MOVING.
αN "NUMBER" THE CLOSEST BODY. NUMBERS MAY BE OF THE FOLLOWING
FORM:
D NLNLN
OR
LN
THESE "NUMBERS" ARE USED FOR WIRE LISTING.
IF THE LOCATION STUFF IS FOLLOWED BY "-n" THEN n IS USED
TO DO AN εN TO THIS BODY. ALSO AN "L" OR "R" MAY FOLLOW,
WHICH WILL BE USED TO DO A βT TO THE BODY. THE OFFSET OF
THE LOCATION STUFF IS SET TO THAT IN THE BODY DEFINITION,
ALSO A BIT IS TURNED ON WHICH CAUSES ANY CHANGES TO THAT
OFFSET IN THE DEFINITION TO BE UPDATED IN EACH BODY WITH
THE BIT ON. THE BIT IS TURNED OFF BY THE βN COMMAND.
D βN LEGAL ONLY IF αN DONE PREVIOUSLY. PUTS YOU AT CURRENT
OFFSET FOR LOC TEXT AND LETS YOU MOVE IT. THIS OFFSET
IS SCALED BY DRAWING SCALE, NOT CHAR SIZE. THIS COMMAND
TURNS OFF THE BIT WHICH CAUSES THIS LOC TO FOLLOW THE
OFFSET SET IN THE BODY DEFINITION.
D εN IF THERE IS A DIP TYPE SET, READS THE DIP DEFINITION
FROM THE FILE DIPS.DIP[DAT,RPH]. THEN ASKS WHICH SECTION
YOU WANT THE PINS FROM, AND USES THE PINID'S AS A MASK
TO MAP THE PIN #'S AND SET THEM.
αO ROTATE CLOSEST BODY 90 DEGREES COUNTER CLOCKWISE.
αS SWAP. ASKS FOR TWO PIN ID'S (PIN #'S IN PC). IF
THEY EXIST ON THIS BODY ALL LINES, TEXT, AND
ANYTHING ELSE ARE SWAPPED BETWEEN THESE TWO POINTS.
D βS SWAP PIN #'S. ANY PIN #'S ASSOCIATED WITH THE ID'S
YOU TYPE WILL BE INTERCHANGED.
D βT ASK FOR AN "L" OR "R". "L" MEANS PIN 1 OF DIP GOES TO
PIN 2 OF SOCKET. "R" MEANS PIN 1 OF DIP GOES TO PIN
1 OF SOCKET. THIS MERELY SETS BITS IN THE BODY WHICH
ARE PASSED TO THE WIRE LISTER WITH THE PIN#. IF A PIN
# NEEDS 1 ADDED TO IT TO GET THE SOCKET PIN # THEN
A "+" WILL APPEAR AFTER IT, IF IT NEEDS 2 ADDED TO IT
A "+2" WILL APPEAR AFTER IT.
D βP SET PIN #'S FROM LOW ORDER 9 BITS OF PIN ID.
α& <CURRENT SET>←<CURRENT SET> UNION <CLOSEST BODY>
β& TRACE CONNECTIONS TO THIS BODY THROUGH POINTS AND BODIES
AND PUT EVERYTHING FOUND IN A SET, ENTER SET MODE AND MOVE
CURSOR TO SET CENTER AND MAKE SURE IT IS ON SCREEN.
ε& CLEAR <CURRENT SET>.
α≡ TRACE ALL PINS ON THIS BODY TO THE NEXT POINT.
IF IT IS NOT A PIN ON ANOTHER BODY, PUT IT
IN A SET WITH THIS BODY. THEN ENTER SET MODE AND
PLACE CURSOR AT SET CENTER.
α# REMOVE BODY FROM CURRENT SET.
β# REMOVE BODY FROM ALL SETS.
εF ASKS "SEARCH STRING". IF ALTMODE TYPED NOTHING IS DONE.
IF NULL STRING, PREVIOUS SEARCH IS REPEATED.
FOR EACH BODY, THE NAME (D) OR A STRING OF DIGITS REPRESENTING
THE # OF PINS (PC) IS MATCHED AGAINST THE SEARCH STRING.
IF A MATCH OCCURS, THE BODY IS MARKED FOR LATER.
βF ASKS "SEARCH STRING". IF ALTMODE TYPED NOTHING IS DONE.
IF NULL STRING, PREVIOUS SEARCH IS REPEATED.
CONVERTS THE LOCATION OF EACH BODY INTO A STRING AND MATCHES
IT AGAINST THE SEARCH STRING. MATCHES ARE MARKED.
αF FIND NEXT BODY. SEARCHES DOWN THE BODY LIST FOR A MARKED BODY.
IF ONE IS FOUND, THE CURSOR IS PLACED ON IT AND IT IS
BROUGHT ON SCREEN (IF OFF).
D α" PUT BODY NAME INTO MACRO.
PC α" MAKE MACRO OF # OF PINS (STRING OF DIGITS). IF 2 PIN DIP,
A <LF> AND THE SEPERATION IN MILS IS ALSO ADDED.
β" MAKE MACRO WITH LOCATION TEXT IN IT. NULL MACRO IF NO LOC.
ε" MAKE MACRO OUT OF DIP NAME. NULL MACRO IF NO DIP TYPE.
SET MODE:
THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS
εS AND A SET WAS FOUND
λ+ DRAW A BOX AROUND THE POINTS AND BODIES YOU WOULD
LIKE IN THE SET, USING + LIKE WITH DRAWING LINES.
SAY - TO CLOSE THE BOX AND THE SET IS DEFINED.
ALL MEMBERS OF THE SET WILL HAVE B'S OR P'S ON THEM.
PSEUDO-CENTER IS INDICATED BY AN S.
βP MAKES A COPY OF THE CLOSEST SET AT
THE CURRENT CURSOR LOCATION, THEN
PUTS YOU IN MOVE-THE-SET MODE (SEE BELOW).
αM POSITIONS THE CURSOR ON THE CENTER OF THE
SET. THE SET NOW FOLLOWS THE
CURSOR. THE SET MEMBERS ARE AGAIN INDICATED.
αD DELETE THE CLOSEST SET.
βD DELETE ALL ELEMENTS OF THE CLOSEST SET FROM THE PICTURE.
εD DELETE ANYTHING NOT IN CLOSEST SET.
PC αO ROTATE SET 90 DEGREES COUNTER CLOCKWISE.
βK DELETE ALL TEXT ON POINTS IN SET!
α& <CURRENT SET>←<CURRENT SET> UNION <CLOSEST SET>
THIS MAKES A NEW SET IF THERE IS NO CURRENT SET.
β& <CURRENT SET>←≡<CLOSEST SET> DOESN'T MAKE NEW SET
ε& CLEAR <CURRENT SET>.
α# REMOVE ALL MEMBERS OF CLOSEST SET FROM CURRENT SET.
ILLEGAL IF CURRENT SET IS CLOSEST.
β# REMOVE ALL MEMBERS OF CLOSEST SET FROM ALL SETS.
THEN DELETE CLOSEST SET.
αF PUT ALL BODIES IN THE CLOSEST SET INTO BODY LIST!
D βF PUT ALL POINT TEXT IN THE CLOSEST SET INTO "TXTLST"
LINE MODE:
THE FOLLOWING COMMANDS APPLY IF THE LAST PRIMITIVE SEARCH COMMAND WAS
εL AND A LINE WAS FOUND.
αD DELETE THE LINE. DOES NOT AFFECT ITS ENDPOINTS.
PC βD DELETE A WIRE. DELETES THE CLOSEST LINE, THEN FOLLOWS
LINES LEAVING THE ENPOINTS OF THE ORIGINAL LINE, DELETING
AS IT GOES. IT ALSO FOLLOW FEEDTHROUGHS THROUGH THE
BOARD, BUT NOT DIP PINS. THIS PROGRESSES UNTIL A JUNCTION
IS REACHED.
αB PUTS A BEND ON THE LINE EVEN WITH THE CURSOR (MAKES IT
INTO 3 SEGMENTS). YOU ARE THEN MOVING THE MID-POINT.
D βB PUTS A POINT ON THE LINE EVEN WITH THE CURSOR.
PC αJ "JUMPS" SEGMENT TO OTHER SIDE OF PC CARD, CREATING OR
DELETING FEED THROUGHS AS NECESSARY.
PC βJ "JUMPS" A "WIRE" TO THE OTHER SIDE OF THE PC CARD, CREATING
OR DELETING FEED THROUGHS AS NECESSARY. A "WIRE" IS THE
CLOSEST SEGMENT TRACED THROUGH ADJOINING SEGMENTS UNTIL
ONE OF THE FOLLOWING IS REACHED; A FEED THROUGH, A PIN,
OR A JUNCTION!
ALTER MODE:
λ0-λ9 NUMBERS ARE REMEBERED AND USED AS REPEAT FACTORS
FOR SOME COMMANDS. THESE COMMANDS ARE PRECEEDED
BY <n>.
- PRECEDES <n> USED IN SOME COMANDS TO DO
BACKWARDS DELETE, MOVE,ETC. USE IN COMMAND
INDICATED BY <->.
\<size> Text alter mode and edit alter mode only. This sets
the character size of the this piece of text. The
format is the same as for text typin:
<size> = {V}<digit 1-4>
<n>S<char> MOVE TO CHAR (END IF NOT FOUND)
<-><n>D DELETE n CHARACTERS (NO-OP AT END)
<n>C CHANGE NEXT n CHARACTERS (JUST TYPE THEM IN)
<-><n><space> MOVE FORWARD n SPACES (NO-OP AT END OF LINE)
<-><n><backspace> MOVE BACKWARD n SPACES (NO-OP AT BEGINNING OF LINE)
I ASKS "INSERT TEXT←" AND INSERTS THE STRING YOU TYPE.
TEXT IS INSERTED BEFORE THE CURRENT CHAR WHICH
REMAINS THE CURRENT CHAR.
<-><n>R EQUIVALENT TO "nDI".
<altmode> LEAVE ALTER MODE.
<n>K<char> DELETE UP TO BUT NOT INCLUDING THE nTH OCCURENCE OF
<char>. NO DELETE IF NOT FOUND BUT LEAVES YOU AT
END OF LINE.
<n>N SEARCH TO nTH NUMBER (A NUMBER IS ANY CONTIGUOUS
SEGMENT OF DIGITS). END OF LINE IF NOT FOUND.
<n># SEARCH TO nTH NUMBER. IF FOUND ASK FOR TEXT MACRO
NAME, AND STORE STRING OF DIGITS IN IT.
THIS MACRO MAY NOW BE CALLED WHERE EVER YOU NEED
A NUMBER!
<n>U SEARCH TO nTH NUMBER AND DELETE IT.
<n>F<string><t> SEARCHES FOR THE Nth OCCURENCE OF <string> AS A
SUBSTRING OF THE CURRENT TEXT. IF FOUND AND
t=ALTMODE THEN DELETE THIS OCCURENCE <string>
OTHERWISE DONE. IF t≠ALTMODE THEN t MUST = CRLF.
PC????? IF STRING IS NULL, NO SEARCH IS DONE
D IF STRING IS NULL, THEN "SEARCH STRING" IS USED
UNLESS IT IS ALSO NULL IN WHICH CASE NO SEARCH
IS DONE.
HERE IS HOW THE MATCHING IS DONE:
IF THE FLAG FOR "SPACES" IS OFF (DEFAULT) THEN ANY
SPACES IN EITHER THE STRING OR THE SEARCH STRING
ARE IGNORED, OTHERWISE THEY ARE NORMAL CHARS.
↔ IS CONVERTED TO A SPACE. IF THE FLAG "EXACT"
IS OFF (DEFAULT) THEN LOWER CASE CHARS ARE CONVERTED
TO UPPER CASE. ALSO UNDER "EXACT", A LEADING ~¬ OR
¬~ IS IGNORED, THIS ALLOWS BEGINNING OF LINE MATCHES
TO WIN FOR BOTH "FOO" AND "~¬FOO" BY USING "|FOO"
AS THE SEARCH STRING.
THE FOLLOWING SPECIAL CHARS ARE CURRENTLY RECOGNIZED:
| BEGINNING OR END OF LINE.
∀ ANY CHARACTER.
≠ INVERT MATCH CONDITION ON NEXT THING.
∞ ANY NUMBER OF NEXT THING WILL MATCH, INCLUDING 0.
SMALLEST NUMBER OF CHARACTERS NECESSARY WILL BE USED.
≡ QUOTE NEXT CHARACTER.
$ MATCH ANY LETTER.
% MATCH ANY DIGIT (0-9).
↓ MATCH ANY ALPHANUMERIC.
EDIT MODE:
THE EDITOR STARTS UP IN "EDIT MODE".
LEGAL COMMANDS ANY TIME ARE:
εP ENTER PIN MODE.
εT ENTER TEXT MODE.
αI ENTER INSERT MODE. THE CURRENT POINT IS SET TO THE FIRST
POINT OF THE BODY AND THE CURSOR IS PUT THERE.
$(ALTMODE) RETURN TO EDIT MODE!
αP SET A PIN. POSITION THE CURSOR FIRST. YOU WILL BE ASKED
"PIN ID?". TYPE A DECIMAL NUMBER. THE PIN WILL APPEAR AT
THE CURSOR POSITION. IF THE NUMBER IS OF THE FORM:
N(M)
IT WILL BE INTERPRETED AS THE Mth OCCURENCE OF THE PIN
WHOSE ID IS N. THIS IS USEFUL FOR BUSSING THROUGH, AND
IS INTERPRETED AS THE SAME PIN BY THE WIRE LISTER AND THE
LAYOUT STUFF. PIN #'S ASSOCIATED WITH ANY PIN WHOSE ID IS
N WILL BE KEPT THE SAME. PIN ID'S MAY BE DUPLICATED AT
THIS TIME, BUT YOU MAY NOT LEAVE THE EDITOR UNTIL THEY
ARE UNIQUE.
αT PLACE BODY TEXT AT THE CURRENT CURSOR POSITION.
THE SIZE KLUDGE IN DRAWING MODE APPLIES HERE.
αE EXIT THE EDITOR. (RETURN TO DRAWING LEVEL AND MODE LAST
USED THERE.) UNLESS SOME PIN ID'S ARE DUPLICATED!
EDIT MODE COMMANDS:
βI ENTER INSERT MODE. THE CURRENT POINT IS SET TO
THE POINT WHICH PREVIOUSLY HAD A STAR ON IT.
αG "GET" A TYPE BY NAME AND ADD IT TO THE END OF THIS BODY.
YOU WILL BE ABLE TO MOVE IT(NORMAL CURSOR MOVING) AND
ROTATE IT (USING αO) UNTIL YOU TYPE SPACE. ALTMODE WILL
FLUSH THE BODY WITHOUT PLACING IT.
αD DELETE "CLOSEST" POINT.
αR CHANGE FLAVOR OF CLOSEST POINT. WAITS FOR + OR -.
βN MOVES THE CURSOR TO THE CURRENT INITIAL LOCATION OFFSET AND
THEN LETS YOU MOVE IT UNTIL YOU TYPE SPACE OR ALTMODE.
INSERT MODE COMMANDS:
λ+ THIS TERMINATES THE CURRENT VECTOR FOLLOWING
THE CURSOR. AND STARTS A VISIBLE ONE FOLLOWING IT.
λ- SAME AS + BUT AN INVISIBLE VECTOR IS STARTED. (FEAR NOT
YOU CANNOT WASTE SPACE BY PUTTING TWO INVISIBLE VECTORS
TOGETHER.)
αR WAITS FOR A "+" OR A "-" THEN CHANGES THE VECTOR "LEAVING"
THE CURRENT POINT TO THE CORRESPONDING TYPE.
αD DELETE THE CURRENT POINT. THIS WILL LEAVE A VECTOR JOINING
THE TWO NEIGHBORING POINTS THE TYPE WILL BE THAT OF THE
ONE ALREADY ON THE LAST POINT. HOWEVER THE CURSOR IS ON
THE NEXT POINT.
SPACE MAKE THE NEXT POINT THE CURRENT ONE.
BACKSPACE MAKE THE PREVIOUS POINT THE CURRENT ONE.
TEXT MODE COMMANDS:
αK DELETE THE TEXT.
αM MOVE THE TEXT. THE TEXT FOLLOWS THE CURSOR UNTIL YOU
TYPE A SPACE.
βM CHANGE TEXT OFFSET FROM TEXT LOC.
PIN MODE COMMANDS:
αD DELETE CLOSEST PIN
αM MOVE THE CLOSEST PIN. CURSOR IS PLACED ON PIN
AND PIN FOLLOWS IT UNTIL SPACE IS TYPED.
αN ASKS "NEW PIN ID?", THEN CHANGES THE NUMBER OF THE CLOSEST
PIN TO WHAT EVER YOU TYPE. SAME RESTRICTIONS ON NUMBER
AS WHEN PLACING NEW PIN.
βN ASKS "LOCATION # (0-7)?" IF YOU TYPE "?"<CR> YOU WILL GET
A LIST OF THE OPTIONS. THIS NUMBER CONTROLS WHERE THE PIN
NUMBERS AND PIN ID'S ARE SHOWN.
PIN DISPLACEMENTS ARE ACCORDING TO THIS CHART.
0=UP RIGHT 4=DOWN LEFT
1=UP 5=DOWN
2=UP LEFT 6=DOWN RIGHT
3=LEFT 7=RIGHT
εN TOGGLE NIPPLE BIT. THE NIPPLE BIT CONTROLS WHETHER AN EXTRA
OFFSET OF 2 SCALED STEPS IS USED TO POSITION THE #'S.
αF AUTOMATICALLY CALCULATES LOCATION #. IF IN OUTSIDE MODE
THEN WILL TRY TO PUT IT OUTSIDE, ELSE INSIDE. INSIDE IS
STARTUP DEFAULT.
βF DO αF TO ALL PINS OF BODY.
MACRO'S:
α: EQUIVALENT TO ;R0<cr>
λ;{-}<n><l> MACRO COMMAND. {-}<n> IS ARGUMENT, <l> IS COMMAND.
MACRO COMMANDS:
H SUBSTITUTE THE VALUE OF A VARIABLE AT THIS POINT.
ASKS FOR THE VARIABLE NAME. TERMINATE THE NAME WITH
A CARRIAGE RETURN.
I INPUT FROM THE TTY. THE NEXT CARRIAGE RETURN TYPED
SIMULATES TYPING ";R0".
Y ASKS FOR A CHARACTER, READS INPUT FROM
DSKIN FILE UNTIL THIS CHARACTER IS SEEN. THEN TURNS
OFF DSKIN AND GENERATES "α:".
P START TEMPORARY MACRO.
M START PERMANENT MACRO. EVERYTHING FROM HERE TO THE NEXT
<CR> WILL BE TAKEN TO BE THE MACRO NAME.
D LIKE M, EXCEPT DOESN'T EXECUTE MACRO DURING DEFINITION.
IF REPEAT COUNT IS GREATER THAN 1, THE REST OF THE
ITERATIONS WILL BE IGNORED ALSO.
R END MACRO. EVERYTHING FROM HERE TO THE NEXT <CR> WILL BE
TAKEN TO BE THE REPEAT FACTOR(INCLUDING DEFINITION OF
MACRO). FOR PERMANENT MACRO'S THE REPEAT FACTOR BECOMES
PART OF THE DEFINITION. AS A SPECIAL HACK IF THE CHARACTER
"#" IS USED INSTEAD OF A NUMBER, THE NUMBER OF MATCHES
LAST FOUND WILL BE USED.
C CALL MACRO BY NAME. EVERYTHING FROM HERE TO NEXT <CR> WILL
BE TAKEN AS THE MACRO NAME.
A FOLLOWED BY:
N,M,I
SUBSTITUTE AT THIS POINT THE NUMBER N AND INCREMENT BY M
EVERY TIME THROUGH THE MACRO I LEVELS UP FROM THE CURRENT
ONE. N AND M MAY BE NEGATIVE. I, OR M AND I MAY BE LEFT
OUT, IF SO DEFAULT I WILL BE 0 DEFAULT M WILL BE 1.
THE ARGUMENT IS THE MINIMUM WIDTH OF THE NUMBER (WILL BE
PADDED WITH 0'S, NOT SPACES).
N SAME AS ";A" EXCEPT ALWAYS SIGNS THE NUMBER, EXCEPT FOR
ZERO WHICH EXPANDS INTO A NULL STRING!
L FOLLOWED BY:
<NUMBER><CR>
ADDS 100 (OCTAL) TO NUMBER AND RETURNS IT AS A LETTER.
IF "D" PRECEEDS THE NUMBER, G,I,O, AND Q ARE SKIPPED.
THE "D" STANDS FOR "DEC"
T WILL REQUEST TTY INPUT AT THIS POINT.
MUST BE TERMINATED BY ";R0".
V<n>,<macro name><cr>
THIS CAUSES TTY INPUT TO BE EXECUTED AND STORED IN THE
MACRO WHOSE NAME YOU TYPE, IF THE NEXT TIME THIS COMMAND
IS PROCESSED, ANY OF THE MACROS BETWEEN THE CURRENT LEVEL
AND THE LEVEL n UP FROM HERE (INCLUSIVE) ARE NOT IN THE
FIRST TIME THROUGH THE LOOP, A ";C" IS DONE WITH THE MACRO
NAME INSTEAD OF TAKING IN THE DEFINITION.
ANOTHER WAY OF LOOKING AT THIS IS THE CONSIDER THE MACRO
A VARIABLE ASSIGNED THE FIRST TIME YOU ENTER MACRO LEVEL
n UP FROM HERE.
F<n><flag><cr>
<flag>::= <flagname> | -<flagname>
<n>::= <macro level>
IF <flag> IS TRUE, ALL CHARACTERS ARE EATEN UNTIL A MACRO
LEVEL <n> LEVELS UP FROM THE CURRENT ONE IS LEFT.
THE FOLLOWING FLAGNAMES EXIST:
FALSE ALWAYS FALSE (USE -FALSE FOR TRUE)
CLOSES TRUE IF CLOSE TO SOMETHING
FIND TRUE IF LAST "αF" FOUND SOMETHING
AFIND TRUE IF LAST F, S, K, N, U, OR # COMMAND IN
ALTER MODE WAS SUCCESSFUL.
ENDMUL TRUE IF LAST αH INCREMENTED A MULTI STRING
VARIABLE OFF THE END (VALUE OF STRING IS NOW NULL).
DSKEND TRUE IF NO DSKIN FILE OPEN. TO FACILLITATE THE
USE OF THIS FLAG, END OF FILE WILL LOOK LIKE A MATCH
FOR THE CARACTER IN ;Y. THIS IS SO CONTROL WILL
REVERT TO A MACRO ON END OF FILE.
LSTEXP TRUE IF LAST ;X RETURNED A NON-ZERO RESULT
AEOL TRUE IF AT END OF LINE IN ALTER MODE
ABOL TRUE IF AT BEGINNING OF LINE
EDGE TRUE IF LAST CURSOR MOVE HIT SCREEN EDGE
(NOT TRUE IF IN -WINDOW MODE)
E<macro name><cr>
EVERYTHING UP TO THE NEXT ε: IS STORED
IN THE NAMED MACRO AFTER EVALUATION BY MACRO PROCESSOR.
X<expression><cr>
THIS ALLOWS ARITHMETIC EXPRESSIONS TO BE EVALUATED. THE
OPERATORS "+", "-", "/", "*" ARE RECOGNIZED, SUB-EXPRESSIONS
MAY BE FORMED USING MATCHING PAIRS OF "< >" OR "( )".
STANDARD PRECEDENCE IS USED IN EVALUATION.
=<any char.>
RETURNS A STRING OF DIGITS REPRESENTING THE DECIMAL CODE
OF THE CHARACTER MINUS 64.
#<any char.>
IF CHAR IS NOT A LETTER, DOES ;=.
ELSE CONVERTS LETTER TO NUMBER USING SEQUENTIAL NUMBERS
FOR THE DEC ALPHABET.
G<string><cr>
RETURNS THE STRING TYPED, ANY CHARACTER WITH ASCII CODE
BETWEEN 100 AND 137 INCLUSIVE HAVE 40 ADDED TO THEM.
O<string><cr>
IF NOT TAKING INPUT FROM TTY, PRINTS STRING ON TTY
MACRO'S MAY BE NESTED TO A LEVEL OF 102 DECIMAL THE ONLY REQUIREMENT
BEING THAT EACH MACRO CONTAIN AN EQUAL NUMBER OF ;P'S AND ;R'S.
HOW TO DO IT -- PC CARDS
Start here when you have completely finished wiring
your pc card.
You are now in the PC program. You must now generate
4 plot files. The 2 outer planes (component and solder)
and the 2 inner planes (power and ground).
You should try to use the following form for plot filenames.
End the name with "C" for component, "S" for solder, "P"
for power, and "G" for ground.
To generate the component and solder plane plots
get on the appropriate side and say <ctrl><meta>W. Then
type the filename.
Now for inner planes. If you want anything but
clearances in your inner planes, STOP and see RPH. Otherwise
you now type INNER<cr> to the extended scanner. This deletes
all lines and points except dip pins and feed throughs, and
sets the pad type for these to 2 (clearances). Currently the
plane connections aren't indicated by the absence of pads.
To make the inner plane plots, use the extended mode
PPLOT command, which asks for the plane number, then the
filename. The plane number is the same as the one you gave
to attach to the plane in the first place.
MORE PC CARDS -- PCP
Now you have 4 plot files (if not see RPH). Now run PCP.
The following indicates program prompts in upper case,
then a description of your response in loser case.
It is suggested that you run PCP on a teletype when doing a TRW
run, and save the output for transfering to a planning sheet.
When program starts up, it asks:
OUTPUT MODE(S)?
If you respond "?", the following list will be typed:
CHAR EFFECT
? TYPE THIS LIST
C CALCOMP OUTPUT
F FR80 OUTPUT
X XGP OUTPUT
G GO DIRECTLY TO X PROG
W SPOOL X OUTPUT, "R XS" WHEN ALL DONE
S ENABLE RESTART CAPABILITY
R ROTATE PLOT
T TRW OUTPUT
M MAP RETICLES
A ADD SYMBOL DEFINITIONS
D MAKE DRILL TAPE FIRST TIME THROUGH
You may type any of the characters in the first column
all on one line, the program will warn you of any
conflicting modes.
Here is a brief description of each of the modes:
? Obvious
C This causes a plot to be made one the calcomp plotter.
F This causes a file to be written on the current area
with the extension 'F80'. This file when copied onto
a magtape (see description, end of page), will produce
FR80 microfilm of the pc card.
X Instead of driving the calcomp plotter, plotter commands
go into a file with the extension 'PLX'. This file when
processed by the 'X' program will produce XGP output of
your pc card.
G This specifies that when the first plot is done, the
program should link directly to the 'X' program, which
will then produce the XGP output.
W This causes output to the XGP to be generated and 'X' to
be run, but 'X' writes its output on the disk again. Later
when you have run all your cards through 'PCP', you run
'XS' which finds, prints on the XGP, and deletes all the
temporary files. This saves time and paper on the XGP.
S This command, intended for use exclusively with calcomp
plotter output, plots a cross 2" above the intial pen
position, and during the processing of the plot,
accasionally saves a core image (it will ask how often to
do this). If for some reason you must start over, mearly
position the bullseye on the pen carraige over the cross
and run file called "PLTSAV.DMP", which will continue
the plot from the place where it left off.
R This will cause the plot to be rotated 90 degrees CCW.
T This will write a file with the extension 'MAG'. When
copied to a magtape (see next page) the tape can be
sent to TRW in L.A. and plotted on film on their gerber
plotter system. This also generates a 'LOG' file which
should be XGP'd and stuck in the plot log book.
M When this mode is selected, the program will ask for
pad types which want to be the same wheel pos as another
pad type, or the same as some position not accessible by
pad types directly.
A This causes PCP to accept extra symbol definitions other
than the standard ones.
D A drill tape file is made from the first file processed.
If you select both "T" and "D" modes, the trw output will be a drill
plot. That is, no lines, text, or pads are drawn and donut pads are
plotted at the location of each drill hole.
If you selected the "T" output mode:
and "M" mode,
If you have a pad type in your pc card, and you want
to use one of the standard reticles (i.e. nortronics
target), this allows you to map the pad type into a
different wheel position than usual. If you answer
"Y", you are asked the following:
RETICLE MAPPING LIVES FOR EVER IN THIS CORE IMAGE!
PAD TYPE NUMBER?
Here you respond with the pad type number which you
set in the pc prog. If you respond <cr>, you get out.
WHEEL POS?
Now you tell which wheel position you wish selected
for this pad type. Then you loop back to the pad
type prompt.
and "A" mode,
If you are using any characters not in the TRW
standard character set (see RPH for character
set), say Y<cr>. If you say Y, the following
will be asked:
SYMBOL DEFINITIONS LIVE FOR EVER (IN THIS CORE IMAGE).
BE SURE TO MAKE A SKETCH OF THE SYMBOL INDICATING THE "D" CODE.
D60?
Type the single character for this code (no <cr>).
Any previously assigned codes will be printed followed
their character, then you will be asked to assign the
first unassigned code. Type the character you used when
you placed the text in the PC prog.
D61?
This will continue until you answer <cr>.
If you selected the "F" output mode:
AT FR80 SCALE OF 3.7 FRAME IS ABOUT 22X17.
FR80 SCALE*10 ?
This is exactly what it seems, if your card is somewhat
smaller than this, you may use a larger scale. Use AID
to calculate the appropriate scale. <cr> will get you
37 (scale of 3.7).
FR80 FRAME IS 22X17.
The frame size will be printed if you give a scale other than 37.
SCALE FACTOR?
Scale of 1 is real size (you get this if you type <cr> alone).
Don't use anything else if you are making a TRW plot or an FR80
plot. This may be used to make detail plots.
POSITIVE X,Y OFFSET (IN INCHES, DECIMAL POINT OK!)?
This must be used to generate TRW plot tapes, and CINCH
drill tapes. Both systems have 0,0 at the lower left.
The standard film we are using at TRW is 24 x 20 inches.
Thus the offset should be 12,10<cr>. The CINCH drill frame
size we will use is 20 x 20 inches, so use 10,10 for drill
tape. If <cr> is typed, and you are making a TRW plot,
12,10 will be used. Otherwise 0,0 is used.
This offset is not used for FR80 output. FR80 output is
centered automatically.
The preceeding information is asked only once every time the program
is started. The rest is asked in a loop starting here. When done type
↑C (call).
FILENAME?
Type the plot filename, default extension is "PCP".
CHAR "M" HEIGHT
SCALE CODE (IN MILS)
0 M50 120
1 M51
2 M52
3 M53
4 M54
This controls the character size, the typeout actually
stops at the end of each line, <cr> suppresses text
of this scale. If this is a TRW tape, the height must be
divisible by 15. Otherwise it must be divisible by 5.
This number is the height and spacing of the characters
of that scale. Scale 0 (M50) is used for the messages,
which are plotted across the bottom of the film.
If you respond with altmode, the rest of the char. size
promts are suppressed.
PUT PEN AT 0,0.
LINES, TEXT, AND PADS MAX X= 0.000 MIN X= 0.000 MAX Y= 0.000 MIN Y= 0.000
This information is calculated from the plot file, and does not
include the card outline. If any of the numbers are abnormally
large, STOP and get RPH immediately.
If this is a TRW plot tape the following is asked:
OPERATOR MESSAGES, 40 CHARS PER LINE (MAX). END WITH <CR>.
STANFORD A.I. PROJECT. <ALREADY ON TAPE>
This puts messages on the tape which are typed
to the operator at TRW at this point in the plot.
These messages are also plotted across the bottom
of the film for identification purposes.
The first line always identifies us, subsequent
lines should identify the plane number (0 to 4,
top to bottom) and what it is. End with a blank
line.
If you specified "D" mode:
TYPE X,Y OF HOLES TO ADD TO DRILL TAPE
DECIMAL POINT OK, OFFSET WILL BE ADDED.
Then loop asking the question:
X,Y OF HOLE?
Until you type just return.
The hole are placed on the front of the drill tape
in the order in which you typed them.
If this is not a drill plot (pads for drill holes only), the following
question is asked (unless this is a TRW run):
SKIP PLOTTING OF ALL PADS?
This is only useful on calcomp for overlaying plots with the same
pads.
Now the program will spew out various things about how far along it is.
If the card number was available when the plot files were written, it
was passed in the file. If not, the following question will be asked:
CARD NUMBER?
Here you type the number of the card you want to use.
If you type 0<cr> or just <cr>, no card will be done.
Here progress on the card is indicated.
Now the program will type:
ACTUAL MAX X = 0.000 MIN X = 0.000 MAX Y = 0.000 MIN Y = 0.000
These numbers include the card outline as well as lines, text, etc.
They must be copied to the TRW planning sheet if this is a TRW plot.
Then it says:
PLOT DONE!
And here we loop back to the plot filename prompt!
Unless the "G" output mode was selected, in which case we go to the
'X' prog which runs automatically.
MORE PC CARDS -- AFTER PCP
At completion of plots, the following command should be typed to
generate an FR80 tape:
COPY MTA0:FOO←STANFO.F80[DAT,RPH],<all your F80 files, specifying ppn>,STANFO.F80[DAT,RPH]<cr>
To punch paper tape from an XXX.DRL file, run TD[F,RPH] and type the filename
XXX, this is a separate program because the tape must be punched in binary.
To make a TRW magtape from your 'MAG' files, type:
COPY MTA0:/EVEN←XXC.MAG,XXS.MAG,XXP.MAG,XXG.MAG,XXD.MAG
Were the file names are the appropriate files you have just generated.
The order is not important, but should agree with the file numbers on the
planning sheets and any messages on the tape itself.
You should also XGP all the 'LOG' files and put the file #'s on them.
fin
RUNNING WL
How to run the wire lister
or
Easy little steps for muddy little feet
Commands are single letters with or without control or meta. The command
may be preceeded by any of the following:
(nothing)
α control
β meta
ε control-meta
λ doesn't matter
If more than one of the above appear, then all will satisfy command.
In all but the "I" command, if only one wire list exists, the "WIRE
LIST ID?" prompt will be skipped.
Commands:
λE EXIT.
εD Enter DIP SUB-MODE. See next page for commands in DIP SUB-MODE.
←<wire list id>
Set default wire list id. This is the wire list which is used
for all commands requiring single wire lists. The 2 wire list
id's are "D" and "PC".
α← Toggle wire list id's. (switch from D to PC or back).
αβI Asks:
FILENAME?
You may type a filename (default extension is α='WD' and β='WPC')
or @filename (default extension is "DIR"). The format of
a "DIR" file will be explained later.
If you type "α" you get wire list with id "D". If you type "β"
you get the wire list with id "PC".
The file(s) are read, signal names are compared and the
wire list is built.
After the file name you may type a module location which takes
effect for any dips or pins which do not already specify a
module location. You may also type variable settings enclosed
in parentheses, separated by commas. See the end of this writeup
for exact information. Example:
αIFOO 1AE3 (N0,M0) 1AE4 (N6,M1)
This reads file FOO.WD twice, once (called slice 1) for
module location 1AE3 with N=0 and M=0, and once for location
1AE4 with N=6 and M=1.
The file(s) are read, signal names are compared and the
wire list is built.
εI Asks:
FILENAME?
Same options as reading 'WD' or 'WPC' files, default extension is 'WEQ'.
This file contains some number of signal names on each line, seperated
by tabs. The effect of this file is that each line is treated as a wire.
So you may cause certain wires to be grounded or connected to HI, or even
connected to other wires. Please note: The card location of the wire list
you wish to affect should appear with the filename, just like reading a
wire list.
εU Asks:
CARD(NLLN)? if necessary
This copies the dips from the default wire list (a logic
wire list), to the other wire list (a pc wire list). The
locations are used for matching.
αβN Asks:
WIRE LIST TITLE?
The string you type will be used on listings involving
this wire list.
αL Asks:
CARD (NLLN)? if necessary
This lists a wire list onto a file. The default
extension is 'WL'.
All sorts of neat things are indicated on
the wire list, the best way to find out what
they are is to make one.
Any unnamed signals are given unique numbers
which are printed preceeded by a "#".
βL Asks:
CARD (LN)? if necessary
Asks is you want to be asked about each category or not.
This makes the following summaries:
Summarizes all dip types used in this wire list
totaling the different body names and total number
of sections used.
UNGENERATED SIGNALS
UNUSED SIGNALS
Each of these catagories is listed, only one
of the names of a wire fitting the catagory
is listed. The default extension is 'WLS'.
εL Asks:
CARD (NLLN)? if necessary
Then asks for a filename. The default extension is 'WLU'.
Writes a listing file which is sorted by dip number. Under each
dip number is listed the signals connected to each pin.
At the end of the listing, the edge connector fingers are listed
in alphabtical order along with the signal connected to each.
This prints out the following info:
LOC DIPTYPE BODY POS FILE
For each body followed by:
PIN # TYPE HI LOW USE SIGNAL NAME
For each pin of body.
Then:
CONNECTORS
PIN FILE SIGNAL NAME
For all connector pins.
This allows you to find out a signal name from the LOC(PIN #).
P<signalname>
or
αP which asks for signal name
Then prints for that the signal name, the information which
would be printed for that signal in αL. Prints on TTY.
βP Asks:
CARD (LN)? if necessary
Then asks:
DIP OR CONNECTOR LOCATION?
Then prints info for that loc which you would have gotten in
a εL listing. Prints on TTY.
εP Asks:
SIGNAL NAME?
Then does αP for this signal for each card currently read in.
In addition, if ∀ appears in front of the signal name both the
hi and low versions of the signal will be printed. This works
for P, αP, and εP.
αW Asks:
CARD (LN)? if necessary
This writes a file for input to the PC prog for generating
router files which are read by wagner's router prog.
The default extension is "WDR".
βW This writes a back panel wirelist file from all the cards in
the default wirelist. The default extension is 'BAC'.
αB Reads a back panel wire list written with βW (default extension
is 'BAC'). You may now make back panel listings using λX commands.
εB Reads a file of the same format as a 'WEQ' file, however default
extension is 'WEQ'. It has the same effect on the back panel as
a 'WEQ' file has on a card wire list. Except there is no problem
with the card location, it applies to the whole back panel.
αC Asks:
CARD (LN)? if necessary
Then asks for a filename. The default extension is 'WLC'.
The card specified is found in D wire list and PC wire list.
The two wire lists are compared and an error listing is
produced. Make one to find out the format. The info from βC
is included in αC.
βC Asks:
CARD (LN)? if necessary
This compares D and PC wire list as in αC, but it only checks
if you have placed the right dip sockets on the pc card for
the dips you are using in the logic drawing. Also checks that
you have not pre-assigned an illegal connector pin #. This
be done only after a βL verify has been done with no errors
because the kinds of errors found by this check will confuse
βC.
EXTEND MODE COMMANDS
λX If any control bits held down asks:
Si?
Now type a 1 to 6 (or more) letter command possibly preceded by
a "-". The meanings of these commands are explained below:
A "D" at the left means available in dip sub-mode only, a "B"
means available in both top-mode and dip sub-mode, nothing means
available only in top mode.
B RESIDENT Reads in the dip defintion file at the bottom of free
core, and marks the last loc used.
now whenever you type ↑c start, the dips
stay in the core image. All other data in program
free storage is cleared.
B -RESIDENT Release dips from bottom of core. Now when
you type ↑c start the dips go away.
B DDT Enters DDT if loaded.
B SAVE Asks for a filename, (default extension is 'DMP')
then executes a swap uuo to save the current core
image. If DSKIN is in progress, it is suspended
during the save and restarted (using DSKCON) after-
wards. However, when the saved core image is run
again, the DSKIN is not continued. It may be
continued manually by a DSKCON command.
B DSKIN Asks for a filename, (default extension is 'TXT')
then takes input from there instead of tty. If an
error is encountered, input reverts to the tty.
B DSKHLD Releases disk input file, remembering where it was.
later you can give a DSKCON command to continue.
B DSKCON If the last dskin was held by a DSKHLD command or
an error, the command causes the file to be reopened
and the appropriate chars skipped to get it back where
it was. DSKHLD and DSKCON are used by SAVE to get
around the fact that the swap uuo does a reset.
B DSKSKP If no file open, asks for name and opens it.
Reads to the next line feed echoing
characters as it goes. Then asks "STOP?".
If you respond with "y<cr>", then skipping stops and
control reverts to who ever had it last.
If you respond with altmode then
skipping stops and control reverts to tty.
Anything else causes then next line to be
printed, skipped, and the prompt repeated.
DEFPPN Accepts a p,pn to use when none is specified (input only).
-DEFPPN Resets defppn to 0. this is the default.
the effect of 0 is that it is used for the p,pn
on input unless you are reading filenames from
and indirect file. in that case, the p,pn used are
those of the indirect file.
B CLEAR This command is equivalent to "↑C START<cr>" except
that it doesn't flush DSKIN.
STATUS Prints out current program status, like SPACES, REFERENCES,
PAGE, EXTENT, and default wire ID.
SPACES Makes spaces in signal names significant.
Affects the αI and βI commands only.
-SPACES Spaces in signal names are no longer significant
except when they seperate 2 digits.
This is the default.
REFERENCE This enables the feature in 'WL' files which
causes all signal names for a wire to appear
in each alphabetical sorting of each name,
but only one of them will have the pin
information printed. All the others will print
"←←←←← REFERENCE" next to the signal with which
the pins appear.
-REFERENCE Disable references in 'WL' file. Signal names
appear only once, with the pins.
IERROR Enable output of errors on wirelist file input
to go to a file. When you do αI, βI, εI, and εB
you are asked for a filename (default extension
is 'WIE'). This file contains the filename of the
file being processed and any errors which cannot
be indicated later. If you respond with <cr> to
the WIE filename prompt, output will go to TTY
as if no IERROR command had been done.
-IERROR Disable input errors going to file, they will
go to the TTY instead. This is the default.
PART Write a "PARTITION" file, default extension is
'PAR'. This is the file for input to Wagner's
partitioning program.
SIGSUM Write signal summary listing for entire wire list.
Default extension is 'WSS'. These files may be
merged by the program "M.DMP[WL,RPH]" to form a
master signal summary ('MSS').
ERRSUM This writes a file (default extension is 'LES')
which has each run of some of the categories from
the wire list summary output. The difference is
that this is a binary file which goes back into
D and allows you to flash the runs from each
error category.
CONSUM Write connector pins needed summary. This lists
signals in same format as SIGSUM but only those
which need to get from one card to another, but
don't. Default extension is 'WCS'.
UML Prints a module map for the card you select. Also
prints edge signals in boxes for each paddle.
Default extension is 'UML'
TEST Asks:
CARD (LN)? if necessary
This writes a card tester file for P. Petit's simulator.
The default extension is "TST".
ROUTE Asks:
CARD (LN) ? if necessary
This routes all runs on the specified card and then
produces a listing (default extension 'WLR'). The
listing is like a 'WL' listing except that the pins
are ordered and a pseudo Z-level is indicated in an
extra column.
ZLEVEL Asks:
CARD (LN) ? if necessary
This routes all runs on the specified card and then
produces a listing (default extension 'WLZ'). The
listing is 4 from-to listings. First is PWR and GND
Z-level 1 and Z-level 2. Then signals, Z-level 1
and Z-level 2.
WRAP This writes a text file containing all connector pins
for input to the MJW'S routing program.
BLIST Write back panel wirelist, default extension is 'BL'.
BSUM Write back panel wirelist summary, similar to 'WLS'
for normal wirelist. Default extension is 'BS'.
BPRINT Asks for a signal name, and prints the run on the tty.
∀ works here as in "P" commands.
SIMPLE Writes back panel information necessary for running the
DEC wirelist package over our back panel.
STRAPS Reads a 'C2C' file which has 2 card locations on each line
seperated by a tab, specifying which cards have their back
strap connectors strapped together. A special format allows
each paddle to be mentioned explicitly so you can strap
different paddles in different directions.
An attempt is made to look at each wire which has a back
connector on it. If it has no name, lose. Otherwise find
the same named wire on the other card. If found then try
to match edge pins on this wire with edge pins on that
wire. A match occurs if they are the same pin, or if one
or both are "wild" specified pins. This allows errors to
be avoided when only one card is placed.
CSTRAP Asks for "CARD nlln" if necessary (should be). Then writes
a file with the default extension 'DAT'. The file contains
the back connector locations which are gotten by taking
a wild back connector from this card and finding the
matching connector on the other card. This allows pre-
placement of pins which have been previously assigned
on one of a pair of cards. The file is suitable for reading
with the "IPINS" command in the drawing prog.
EXTENT This is the number of paddles to assume make it to the back
panel for card with no location. It is initialized to 4.
-EXTENT This resets the extent to 4 (the default).
PAGE This allows you to set the number of lines per page to assume
when making listings, in case output will not go to LPT.
-PAGE Resets page length to 52 (the default, to allow for spooler or
other headings).
OLD Sets mode for reading "old" format DIPS.DIP files.
-OLD Clears mode set by OLD.
ECL Sets default for ECL dips during dip definition.
-ECL Clears ECL default.
TTL Sets default for TTL dips during dip definition.
-TTL Clears TTL default.
DIP SUB-MODE
λE Exit to TOP MODE (commands on previous page).
λI<filename> Input dip file into internal structure. If filename
is omitted, last one used for I or W command is used.
Name starts as "DIPS.DIP[F,RPH]". Default extension
is always 'DIP'.
λW<filename> Write internal list into file. Filename same as for I.
λN<filename> Change (or just print if no filename arg) the default
dip filename.
λL<cr> Asks:
FILENAME?
Default extension is 'LSD'. This makes a listing of all
dip definitions.
λD<dipname> Delete definition of <dipname>. If <dipname> is blank
you get DDT.
λP<dipname> Print definition of <dipname> on TTY.
λR<dipname> Rename dip with name <dipname>. Asks for new name.
λC<dipname> Copy definition of <dipname>.
Asks:
NEW DIP NAME?
If it already exists, you are asked:
ALREADY EXISTS, REPLACE?
Then you are asked:
LOADING CONVERSION FACTOR?
The format is <number> or <number>/<number>. This
is the scale which is applied to all loadings of
the old dip definition to get the new one.
λM<dipname> Modify definition of <dipname>.
If no definition exists for this dip name, it TYPES:
NEW NAME # OF PINS?
Answer with <n><cr>.
If a definition already exists, types out the number
of pins. Then a heading line is typed and echoing is
turned off. It tabs to the PIN # column and waits for
a command. Now you may type:
<n><cr> Types the information for pin <n>.
<n><tab> Types the information for pin <n> then tabs to
the "TYPE" column. You can now change any or all
of the data items for this pin. Type <cr> to
fill in the rest of the line with the old stuff.
Type <tab> to get to the next column. Bad format
is filtered out and only good data is echoed. To
leave a column unchanged, just <tab> to the next
column without typing anything.
<cr> Asks for a new DIPNAME. You can either
edit another dip or get back to DIP SUB-MODE by
typing <cr>.
A<cr> Types pin <n+1> automatically when you type
<cr> for pin <n>. You get out of automatic mode
by typing <ALTMODE> or reaching last pin.
T<cr> L<cr> U<cr> P<cr> S<cr>
Automatically copies all columns to the left
of the TYPE, LOAD, USE, PS, and SECTION columns
respectively when you type the <n><tab>
command above.
In all the above ALTMODE is equivalent to <cr>.
Legal TYPES are:
I input OP pull up output
IS input with load sharing VCC or P power
O output GND or G ground
OT tri-state output NC or N no connection
OC open collector output Z terminator
You may prefix any of the above types with the letter
"T" for TTL or "E" for ECL. If the X commands ECL or TTL
have been performed, the prefix "E" or "T" is assumed
automatically. With no prefix, the pin definition is
neutral with respect to TTL vs ECL.
The USE column is for comments such as "S1" or "S4" on
an ALU dip. PS is an arbitrary number which you assign
to identify pins that share load. Give the same number
to all pins that share with eachother. SECTION is for
defining the sections of the dip and for specifying
equivalent pins in other sections. The section information
is: <logical pin #>/<section #>{,<subsection #>}. The
equivalent pins in different sections are identified
by having equal logical pin numbers. The subsection
number is used with the section number to describe a
dip with more than one level of structure, i.e., a 10100
ECL dip with four identical sections, and where one pin
of each section is tied to a common enable line. In this
case, the four gates sharing the common enable line are
considered to be in section 0, with a seperate subsection
number for each gate. Section and subsection numbers must
be sequentially assigned and must be distinct, i.e., a number
used as a section designator must not also be used to number a
section. If you're confused, look at the definitions of gates
like DM8838, 10100, etc.; if still confused ask Tom Gafford,
and if he confuses you, call RPH around 3 a.m. some time
and harass him because it's all his fault.
WL FILE FORMATS
In this part:
{} means optional
<> syntactic entity
{}* 0 or more of
<l> single letter
<n> 1 or more digits
<cr> Carraige return - linefeed
"DIR" files:
{ <filename> { .<ext> } { [<p>,<pn>] } { { <slicespec> }* } }* <cr> }* <eof>
<slicespec> ::= { { <n> } <l> { <l> } <n> } { ( { <n> <lessthan> }
{ <n> <greaterthan> }<l> <n> { , <l> <n> }* ) }*
This is a list of files to read for "I" or "U" commands.
The first part of the slicespec allows you to specify the
<bay><toprack><bottomrack><slot>
for any unspecified dip locations. In addition the filespec for the indirect
file may include a <n><l><l><n> construct which will be used on any filespec's
in the file which don't have their own. The rest is for the special construct in
signal names which we will call expressions. The <n><lessthan> sets the lower
bound of values to <n>, the <n><greaterthan> sets the upper bound.
The <l><n> sets variable <l> to <n>. The format of a signal name
which uses an expression is as follows:
<signal name> ::= { ¬[ }* { [ <expr> ] } { ∀ }*
<expr> ::= <form1> | <form2> | <form3>
<form1> ::= <form3> , <string> { , <string> }*
<form2> ::= { <form3> "{" <string> "}" }* { <form3> }
<form3> ::= <secondary> | <secondary> <op1> <form2>
<secondary> ::= <primary> <op2> <primary> | <primary>
<primary> ::= ( <expr> ) | - <primary> | + <primary> | A-Z | <number>
<op1> ::= + | -
<op2> ::= / | *
<number> ::= 0-9 | 0-9 <number>
If <expr>=<form1> the <form3> expression is evaluated. Then the thing
in [] is replaced by the I'th string (where value of <form2>=I). If
I less than or equal to zero, or I greater than the number of strings,
the thing in brackets is replaced with null.
If <expr>=<form2> the first <form2> expression is evaluated. If the value
is non-zero, the string contain in the following "{}" pair is the result
of the expr. Otherwise, the evaluation of the <form3> expression after
the "}" is done and so on until on becomes true or the "]" is reached.
If <expr>=<form3> the thing in [] is replaced by the decimal value
of the expression with leading zeroes added to make the length of the
result equal to the length of the longest variable <l> in the expression.
The following is the format of a "STRAP" file, it tells which
paddles of which cards are strapped together:
{<strap spec>}* <eof>
<strap spec> ::= <card spec><tab><card spec><crlf>
| <paddle spec><tab><paddle spec><crlf>
<card spec> ::= {<bay>}<rack><slot>
<paddle spec> ::= <card spec><paddle letter>
<bay> ::= 0-15
<rack> ::= <top rack>{<bottom rack>}
<top rack> ::= A-Z
<bottom rack> ::= A-Z
<slot> ::= 1-63
<paddle letter> ::= A-Z
SEMANTICS:
The <card spec> construct is used if the back strap connectors
of both cards correspond on a one-to-one basis. The <paddle spec> is
used when different height cards are being described or strapping is
going to either side of a single card on different paddles.
RUNNING MAGGOT
MAGGOT READS MAGTAPE ON WHICHEVER MAG TAPE (0 OR 1) YOU'VE ASSIGNED, AND
SIMULATES GERBER PLOTTER PACKAGE. (ASKS YOU WHICH ONE IF YOU'VE BOTH MTA'S ASSIGNED)
HAS OPTIONS FOR OUTPUTTING GRAPHICS TO CALCOMP OR XGP, CONVERTING TO TEXT AND
LISTING ON LPT, READING MAG TAPE CONTINUOUSLY UNTIL ALL PLOTS ARE EXHAUSTED,
AND FLUSHING PLOTTED TEXT TO KEEP FROM REQUIRING TOO LARGE AN XGP PLOT TO FIT
IN CORE AT STANFORD. TYPING "?"<CR> AT THE PROMPT "MODES?" GIVES BRIEF EXPLANATION
OF COMMAND CHOICES.
THE FIRST TIME ANY SCALE IDENTIFIER IS ENCOUNTERED YOU
WILL BE ASKED TO TYPE ITS HEIGHT.
RUNNING PDRILL
PDRILL READS PAPER TAPE AND PLOTS X'S ON CALCOMP
FOR EACH DRILL HOLE, ALSO LISTS X,Y'S OF HOLES ON
LINE PRINTER
ASKS IF YOU WANT A CALCOMP PLOT
ASKS IF YOU WANT A LINE PRINTER LISTING
ASK YOU TO LOAD TAPE BEFORE STARTING
RUNNING FR80
ASKS IF YOU WANT A CALCOMP PLOT.
ASKS IF YOU WANT LPT OUTPUT.
ASKS FOR A FILENAME. (DEFAULT EXT IS "F80")
MAKES PLOT AND LISTING IF APPROPRIATE.
HOW TO RUN REF
REF IS A PROGRAM TO GOBBLE DOWN 'WD' FILES
AND PRODUCE A LISTING, ORDERED BY SIGNAL NAME
SHOWING EACH FILE IT IS USED IN AND HOW MANY
TIMES IT IS USED.
THE PROG STARTS BY ASKING:
WD FILENAME?
TO WHICH YOU MAY TYPE EITHER
FILNAM.EXT[P,PN] DEFAULT EXT IS 'WD'
OR
@FILNAM.EXT[P,PN] DEFAULT EXT IS 'DIR'
IF THE "@" CONSTRUCT IS USED, ANOTHER FILENAME IS SCANNED
FROM THE FILE, AND SO ON UNTIL END OF FILE (BLANK LINES ARE
IGNORED).
FILENAMES ARE GOBBLED AND THE FILES READ UNTIL YOU TYPE
A BLANK FILENAME FROM THE TTY.
IT THEN ASKS:
REF FILENAME?
YOU NOW MAY TYPE THE OUTPUT FILENAME (DEFAULT EXT IS 'REF').
IF BLANK NAME IS TYPED, OUTPUT GOES TO THE TTY.
MISCELANEOUS
DRAWING PITFALLS:
1. LINES WHICH APPEAR TO TOUCH MAY NOT INTERSECT IN THE DATA
STRUCTURE. TO INSURE CONTINUITY YOU MUST EITHER:
A. USE THE "-" METHOD TO HAVE A LINE YOU ARE DRAWING
INTERSECT A POINT YOU CAN SEE.
B. USE THE "αA" OR "βA" METHOD TO ATTACH TO A POINT OR
LINE RESP.
(IN CASE OF DIFFICULTY, LEARN THE "αB" AND "βB" FUNCTIONS.)
2. LABELS (LOGICAL NAMES) MAY APPEAR NEAR A WIRE AND NOT BE
ASSOCIATED WITH IT. TO FORCE ASSOCIATION, YOU MUST:
A. GET ON THE POINT AT THE END OF THE WIRE AND PLACE THE
TEXT THERE. MOVE THE WIRE IF THE TEXT GETS GARBAGED BY
SOME NEARBY OBJECT.
(YOU MIGHT USE THE "αA" FUNCTION TO ATTACH SOME TEXT TO THE NEAREST POINT)
PC CARD LAYOUT RESTRICTIONS (BY MCGUIRE):
THE FOLLOWING LAYOUT TECHINQUES ARE TO BE CONSIDERED
MANDITORY UNTIL PROVEN OTHERWISE:
THE STANDARD STEP SIZE (50 MILS) WILL BE USED IN ALL PC CARDS
EXCEPT FOR SPECIAL PURPOSE ONES. THIS ALLOWS EXACTLY ONE WIRE TO PASS
DIRECTLY BETWEEN TWO PADS.
WIRES BETWEEN PADS SHOULD BE WITHIN 15 DEGREES OF STRAIGHT
THROUGH TO ALLOW 18 MILS OF CLEARANCE BETWEEN WIRE AND PAD, 30
DEGREES GIVES 15 MILS OF CLEARANCE, STRAIGHT THROUGH GIVES 20 MILS OF
CLEARANCE.
WIRES BETWEEN PADS ARE ALLOWED ONLY ON THE TOP (DIP INSERTION)
SIDE OF PC CARDS OWING TO TROUBLE WITH SOLDER BRIDGING ON THE BOTTOM.
SPACING BETWEEN WIRES MAY BE THE MINIMUM, THAT IS 50 MILS.
CONSIDER PADS AND FEED THROUGH TO BE 52 MILS IN DIAMETER AND WIRES TO
BE 10 MILS WIDE (AFTER ETCHING).
IF A FEED THROUGH IS TO BE PLACED BETWEEN TWO WIRES THE WIRES
MUST BE AT LEAST 100 MILS APART IN ORDER THAT THE 20 MILS CLEARANCE
BE MAINTAINED AROUND THE FEED THROUGH.
PLANE DESIGNATIONS:
IN ORDER TO AVOID CONFUSION THE FOLLOWING PLANE DESIGNATIONS
WILL BE USED IN ALL PC CARDS:
PLANE USE
0 GROUND PLANE.
1 FIRST POWER PLANE(USE THIS IF ONLY ONE)
2 SECOND POWER PLANE(USE THIS AND 1 IF TWO POWER PLANES)
3 THIRD POWER PLANE.
IF SOMEBODY NEEDS MORE THAN 4 PLANES, HE IS CRAZY AND SHOULD SEE
RPH FOR TREATEMENT.
EXTERIOR PLANES!!!!!!!!
THE SIDE OF THE BOARD INTO WHICH DIPS ARE INSERTED WILL BE
REFERED TO AS THE TOP. THE OTHER SIDE WILL BE REFERED TO AS THE OTHER
SIDE.